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

问题描述:

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

+1

“typeof运算符用于获取某个类型的System.Type对象。” ---如果你不需要它 - 那么显然不要使用它。 – zerkms 2011-02-06 23:48:19

它就像.GetType(),但它可以在一个类型名称,而不是一个实例。

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

例如,如果你有一个情况下,你会:

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

但是你可以:

Type type = typeof(MyType) 

它从一个类型获取Type的实例。

我能得到它的这个类是在装配。

typeof(MyClass).Assembly 

据.Net远程期间也使用当两个编组的对象,也让一个对象一个激活者。

当你编组需要指定对象公开,您希望当元帅的接口的对象...

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

而且从远程服务获得一个物体的时候......你需要指定什么类型您想要得到的对象:

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