protected virtual bool TryGetStaticMember( GetMemberBinder binder, out object result )
{
PropertyInfo property = GetType().GetProperty( binder.Name, DefaultBindingFlags );
if ( property != null )
{
result = property.GetValue( null, null );
return true;
}
FieldInfo field = GetType().GetField( binder.Name, DefaultBindingFlags );
if ( field != null )
{
result = field.GetValue( null );
return true;
}
foreach ( DynamicObject prototype in Modules.OfType<DynamicObject>() )
{
if ( prototype.TryGetMember( binder, out result ) )
{
return true;
}
}
result = null;
return false;
}