Bra*_*don 11 c# dynamic c#-4.0
我得到了如何dynamic在C#4.0中使用,但是,我不确定如何采取一些东西并使其具有动态性(我的技术术语).
例如,ConfigurationManager.AppSettings["blah"]我怎样才能创建一个包装类型,让我像动态一样使用它settings.Blah?
你还需要一个切入点.然而,从那里可能性非常灵活.这是一个示例想法,用于演示动态调度的强大功能:
public abstract class MyBaseClass
{
public dynamic Settings
{
get { return _settings; }
}
private SettingsProxy _settings = new SettingsProxy();
private class SettingsProxy : DynamicObject
{
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
var setting = ConfigurationManager.AppSettings[binder.Name];
if(setting != null)
{
result = setting.ToString();
return true;
}
result = null;
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)