我有一个类继承自 DynamicObject 并重写它的一些成员。我想知道是否有任何我可以使用的技巧使“this”隐式动态(或至少是外观),这样当我想在类中动态添加成员时,我就不必这样做了
((dynamic)this).Whatever = 10;
如果可以的话就更好了
Whatever = 10;
我只是添加了一些东西,所以我不能添加任何真实的上下文,不,这次 Ruby 不是解决方案;)
我可以将它包装在一个属性中,但它会添加到功能的 API 中,因为我必须这样做
Property.Whatever = 10;
最佳答案
为什么不直接扩展基类?
public class DynamicObjectEx : DynamicObject
{
protected dynamic self
{
get
{
return this;
}
}
}
或者您可以简单地切换到 VB.NET 并关闭选项 strict 或任何设置 ;-)
关于c# - 使 "this"隐式动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4213099/