0

我想Object.GetType()用我自己的一个来隐藏原件

例如,而不是:

[MyCustomAttribute]
public class @Class
{
}

我想动态生成属性,例如:

public class @Class
{
     public new Type GetType(){
           return new MyCustomTypeContext().Map(base.GetTypeinfo())
     }
}

MyCustomTypeContext将原始类型从哪里包装起来GetType(),这样当您调用时myClassInstance.GetType().Attributes,我可以在运行时为调用者​​提供一个实例MyCustomAttribute(而不是像前一种情况那样静态绑定)。

我一直在研究默认实现,但一无所获,我可以在原始类型实现上创建一个代理——但那工作量太大了。希望有人能够优雅地解决这个问题。

4

0 回答 0