在什么情况下使用typeof运算符是好的?

时间:2011-02-06 23:46:58

标签: c#

我不明白何时使用typeof()运算符?在什么情况下使用它会很好?

3 个答案:

答案 0 :(得分:6)

它类似.GetType(),但它适用于类型名称而不是实例。

如果需要获取System.Type的实例并且在编译时知道类型,则可以使用typeof(MyType)。您不需要该类型的实例来解析该类型的描述(System.Type)。

例如,如果你有一个实例,你会:

object o = new MyType();
Type type = o.GetType()

但你可以:

Type type = typeof(MyType)

答案 1 :(得分:1)

它从类型中获取Type的实例。

我可以得到这个班级所在的集会。

typeof(MyClass).Assembly

答案 2 :(得分:0)

在编组对象和从Activator获取对象时,也可以在.Net远程处理期间使用它。

编组对象时,需要指定对象公开的接口,以便编组...

_pServerFileXFer = RemotingServices.Marshal(m_serverFileXFer, m_strURI, typeof(IServer));

从远程处理服务中获取对象时......您需要指定要获取的对象类型:

IServer server = Activator.GetObject(typeof(IServer), m_txtURI.Text) as IServer;