什么时候应该系统.键入要继承的



Type的文档。GetTypeCode州:

评论

当从Type继承时,可以更改此方法的行为通过重写GetTypeCodeImpl方法

当从System.Type继承时,文档没有描述。它是否有效或适用于任何实际应用程序,还是仅适用于CLI的实现者?

系统。类型文档也不包含这些信息,它只有一个必须为派生类重写的成员列表。

由于无法重写typeof,我假设typeof操作符仍然返回内部系统的一个实例。来自mscorlib程序集的RuntimeType类,或类似的。那么用户派生类有什么用呢?

基本上,你不应该从System.Type中派生出自己的类型。除非您是CLR团队的一员,否则我永远看不到它的用途。如果您正在实现一个mock框架或类似的东西,那么可能有这样做的原因,但我很怀疑。我对任何从Type衍生出来的东西都持怀疑态度——我认为如果你不小心的话,这是一种很容易出错的东西。

我怀疑文档应该说的是"从System.Type派生的类通过重写GetTypeCodeImpl来改变这个方法的行为"-尽管坦率地说,即使是用户也不需要知道。

在我的例子中,我想创建我将在运行时动态创建的实例和类(从数据源(如XML))。我成功地子类化了System。你不能使用Activator.CreateInstance(yourSubType)创建实例。

我通过将我的源(XML)转换为可编译的c#代码,然后使用CSharpCodeProvider进行编译,从而解决了这个问题。

相关内容

  • 没有找到相关文章