public override int GetTypeDefProps( int typeDef, [Out] char *qualifiedName, int qualifiedNameBufferLength, [Out] int *qualifiedNameLength, [Out] TypeAttributes *attributes, [Out] int *baseType) { Debug.Assert(baseType == null); if (!_metadataProvider.TryGetTypeDefinitionInfo(typeDef, out var namespaceName, out var typeName, out var attrib)) { return(HResult.E_INVALIDARG); } if (qualifiedNameLength != null || qualifiedName != null) { InteropUtilities.CopyQualifiedTypeName( qualifiedName, qualifiedNameBufferLength, qualifiedNameLength, namespaceName, typeName); } if (attributes != null) { *attributes = attrib; } return(HResult.S_OK); }
int IMetadataImport.GetTypeDefProps( int typeDef, [Out] char *qualifiedName, int qualifiedNameBufferLength, [Out] int *qualifiedNameLength, [Out] TypeAttributes *attributes, [Out] int *baseType) { MetadataRequired(); var handle = (TypeDefinitionHandle)MetadataTokens.Handle(typeDef); var typeDefinition = _metadataReaderOpt.GetTypeDefinition(handle); if (qualifiedNameLength != null || qualifiedName != null) { InteropUtilities.CopyQualifiedTypeName( qualifiedName, qualifiedNameLength, _metadataReaderOpt.GetString(typeDefinition.Namespace), _metadataReaderOpt.GetString(typeDefinition.Name)); } if (attributes != null) { *attributes = typeDefinition.Attributes; } if (baseType != null) { *baseType = MetadataTokens.GetToken(typeDefinition.BaseType); } return(HResult.S_OK); }
public virtual int GetTypeDefProps( int typeDef, [Out] char *qualifiedName, int qualifiedNameBufferLength, [Out] int *qualifiedNameLength, [Out] TypeAttributes *attributes, [Out] int *baseType) => throw new NotImplementedException();