假设我有这个:
dynamic foo = new Foobar();
Run Code Online (Sandbox Code Playgroud)
我有这个:
public class Foobar : DynamicObject
{
}
Run Code Online (Sandbox Code Playgroud)
问题是,是否有可能覆盖成员以DynamicObject使此代码:
string name = new Foobar().Name
Run Code Online (Sandbox Code Playgroud)
不是Exception在运行时抛出?我要回default了name的,如果Name不是成员.
可能?我需要覆盖什么?
覆盖TryGetMember(和TrySetMember).从DynamicObject类派生的类可以重写此方法,以指定操作的动态行为,例如获取属性的值.
http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.trygetmember.aspx
| 归档时间: |
|
| 查看次数: |
5342 次 |
| 最近记录: |