我不明白何时使用typeof()
运算符?在什么情况下使用它会很好?
答案 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;