public TypeDefProps GetTypeDefProps(uint typeToken) { TypeDefProps typeDefProps = new TypeDefProps(); typeDefProps.Token = typeToken; typeDefProps.Name = Util.GetString(delegate(uint pStringLenght, out uint stringLenght, System.IntPtr pString) { metaData.GetTypeDefProps(typeDefProps.Token, pString, pStringLenght, out stringLenght, // The string to get out typeDefProps.Flags, out typeDefProps.SuperClassToken); }); return(typeDefProps); }
public TypeDefProps GetTypeDefProps(uint typeDef) { TypeDefProps ret = new TypeDefProps(); ret.Token = typeDef; ret.Name = Util.GetString(delegate(uint pStringLenght, out uint stringLenght, System.IntPtr pString) { metaData.GetTypeDefProps( ret.Token, pString, pStringLenght, out stringLenght, // The string to get out ret.Flags, out ret.SuperClassToken ); }); return(ret); }
DebugType(Process process, ICorDebugType corType) { if (corType == null) throw new ArgumentNullException("corType"); this.process = process; this.corType = corType; this.corElementType = (CorElementType)corType.Type; if (this.IsClass || this.IsValueType) { this.corClass = corType.Class; this.module = process.GetModule(corClass.Module); this.classProps = module.MetaData.GetTypeDefProps(corClass.Token); } if (this.IsClass || this.IsValueType || this.IsArray || this.IsPointer) { foreach(ICorDebugType t in corType.EnumerateTypeParameters().Enumerator) { typeArguments.Add(DebugType.Create(process, t)); } } this.fullName = GetFullName(); }