我想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
(而不是像前一种情况那样静态绑定)。
我一直在研究默认实现,但一无所获,我可以在原始类型实现上创建一个代理——但那工作量太大了。希望有人能够优雅地解决这个问题。