我有一个继承自的类。 在该类中,我尝试评估一个静态类。DynamicObject
TryGetMember
在静态类中如何TryGetMember从DynamicObject结果中覆盖?
TL; DR
调用代码:
dynamic sut = new ReachIn();
sut.myclass.MyInnerStaticClass.MyProperty= "fortytwo";
我的DynamicObject班级试图返回myclass作为MyClass实例。
internal class ReachIn : DynamicObject
{
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
result = MyClass; // Does not compile.
return true;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
value = MyClass // Does not compile;
return true;
}
}
返回的内容在这里:
internal class MyClass
{
internal static class MyInnerStaticClass
{
public static string MyProperty { get; set; }
}
}
这个例子有点强迫。这只是一个动态对象的非常简化的示例,该对象使私有字段,属性,方法(和(尚未)类)可见以用于测试目的。我也知道不应以这种方式编写测试,但是我有一个深奥的理由。还是因为我可以。
相关分类