public PropertyReference(EvaluationContext ctx, PropertyInfo prop, CorValRef thisobj, CorApi.Portable.Type declaringType, CorValRef[] index) : base(ctx) { this.prop = prop; this.declaringType = declaringType; if (declaringType.CorType == CorApi.Portable.CorElementType.ElementTypeArray || declaringType.CorType == CorApi.Portable.CorElementType.ElementTypeSzarray) { this.module = ((CorApi.Portable.Type)((CorEvaluationContext)ctx).Adapter.GetType(ctx, "System.Object")).Class.Module; } else { this.module = declaringType.Class.Module; } this.index = index; if (!prop.GetGetMethod(true).IsStatic) { this.thisobj = thisobj; } flags = GetFlags(prop); loader = delegate { return(((CorValRef)Value).Val); }; }
public CorMetadataImport(CorApi.Portable.Module managedModule) { SharpDX.ComObject mdi = null; managedModule.GetMetaDataInterface(typeof(CorApi.Portable.IMetaDataImport).GUID, out mdi); m_importer = mdi.QueryInterfaceOrNull <CorApi.Portable.IMetaDataImport>(); Debug.Assert(m_importer != null); }