Archetype.Sandbox.DelegatingObjectWithMethodMissing.TryGetStaticMember C# (CSharp) Method

TryGetStaticMember() protected method

protected TryGetStaticMember ( GetMemberBinder binder, object &result ) : bool
binder System.Dynamic.GetMemberBinder
result object
return bool
        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;
        }