GetPropertyProps() public method

public GetPropertyProps ( int mdToken, void &name, PropertyAttributes &propertyAttributes, ConstArray &signature ) : void
mdToken int
name void
propertyAttributes PropertyAttributes
signature ConstArray
return void
Ejemplo n.º 1
0
        internal RuntimePropertyInfo(
            int tkProperty,
            RuntimeType declaredType,
            RuntimeTypeCache reflectedTypeCache,
            out bool isPrivate
            )
        {
            Debug.Assert(declaredType != null);
            Debug.Assert(reflectedTypeCache != null);
            Debug.Assert(!reflectedTypeCache.IsGlobal);

            MetadataImport scope = declaredType.GetRuntimeModule().MetadataImport;

            m_token = tkProperty;
            m_reflectedTypeCache = reflectedTypeCache;
            m_declaringType      = declaredType;

            scope.GetPropertyProps(tkProperty, out m_utf8name, out m_flags, out _);

            Associates.AssignAssociates(
                scope,
                tkProperty,
                declaredType,
                reflectedTypeCache.GetRuntimeType(),
                out _,
                out _,
                out _,
                out m_getterMethod,
                out m_setterMethod,
                out m_otherMethod,
                out isPrivate,
                out m_bindingFlags
                );
        }
        internal RuntimePropertyInfo(int tkProperty, RuntimeType declaredType, RuntimeType.RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
        {
            MetadataImport metadataImport = declaredType.GetRuntimeModule().MetadataImport;

            this.m_token = tkProperty;
            this.m_reflectedTypeCache = reflectedTypeCache;
            this.m_declaringType      = declaredType;
            ConstArray constArray;

            metadataImport.GetPropertyProps(tkProperty, out this.m_utf8name, out this.m_flags, out constArray);
            RuntimeMethodInfo runtimeMethodInfo;

            Associates.AssignAssociates(metadataImport, tkProperty, declaredType, reflectedTypeCache.GetRuntimeType(), out runtimeMethodInfo, out runtimeMethodInfo, out runtimeMethodInfo, out this.m_getterMethod, out this.m_setterMethod, out this.m_otherMethod, out isPrivate, out this.m_bindingFlags);
        }
        internal unsafe RuntimePropertyInfo(int tkProperty, RuntimeType declaredType, RuntimeType.RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
        {
            RuntimeMethodInfo info;
            MetadataImport    metadataImport = declaredType.GetRuntimeModule().MetadataImport;

            this.m_token = tkProperty;
            this.m_reflectedTypeCache = reflectedTypeCache;
            this.m_declaringType      = declaredType;
            metadataImport.GetPropertyProps(tkProperty, out this.m_utf8name, out this.m_flags, out MetadataArgs.Skip.ConstArray);
            int associatesCount     = metadataImport.GetAssociatesCount(tkProperty);
            AssociateRecord *result = (AssociateRecord *)stackalloc byte[(((IntPtr)associatesCount) * sizeof(AssociateRecord))];

            metadataImport.GetAssociates(tkProperty, result, associatesCount);
            Associates.AssignAssociates(result, associatesCount, declaredType, reflectedTypeCache.RuntimeType, out info, out info, out info, out this.m_getterMethod, out this.m_setterMethod, out this.m_otherMethod, out isPrivate, out this.m_bindingFlags);
        }
Ejemplo n.º 4
0
        internal unsafe RuntimePropertyInfo(int tkProperty, RuntimeType declaredType, RuntimeType.RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
        {
            MetadataImport metadataImport = declaredType.GetRuntimeModule().MetadataImport;

            this.m_token = tkProperty;
            this.m_reflectedTypeCache = reflectedTypeCache;
            this.m_declaringType      = declaredType;
            ConstArray signature;

            metadataImport.GetPropertyProps(tkProperty, out this.m_utf8name, out this.m_flags, out signature);
            MetadataImport    scope         = metadataImport;
            int               mdPropEvent   = tkProperty;
            RuntimeType       declaringType = declaredType;
            RuntimeType       runtimeType   = reflectedTypeCache.GetRuntimeType();
            RuntimeMethodInfo runtimeMethodInfo;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            RuntimeMethodInfo& local = @runtimeMethodInfo;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            RuntimeMethodInfo& getter = @this.m_getterMethod;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            RuntimeMethodInfo& setter = @this.m_setterMethod;

            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            MethodInfo[]& other = @this.m_otherMethod;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            bool& composedOfAllPrivateMethods = @isPrivate;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            BindingFlags& bindingFlags = @this.m_bindingFlags;

            Associates.AssignAssociates(scope, mdPropEvent, declaringType, runtimeType, local, local, local, getter, setter, other, composedOfAllPrivateMethods, bindingFlags);
        }
Ejemplo n.º 5
0
        [System.Security.SecurityCritical]  // auto-generated
        internal RuntimePropertyInfo(
            int tkProperty, RuntimeType declaredType, RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
        {
            Contract.Requires(declaredType != null);
            Contract.Requires(reflectedTypeCache != null);
            Contract.Assert(!reflectedTypeCache.IsGlobal);

            MetadataImport scope = declaredType.GetRuntimeModule().MetadataImport;

            m_token = tkProperty;
            m_reflectedTypeCache = reflectedTypeCache;
            m_declaringType      = declaredType;

            ConstArray sig;

            scope.GetPropertyProps(tkProperty, out m_utf8name, out m_flags, out sig);

            RuntimeMethodInfo dummy;

            Associates.AssignAssociates(scope, tkProperty, declaredType, reflectedTypeCache.GetRuntimeType(),
                                        out dummy, out dummy, out dummy,
                                        out m_getterMethod, out m_setterMethod, out m_otherMethod,
                                        out isPrivate, out m_bindingFlags);
        }