public static string GetAssemblyQualifiedName(TypeSignature signature) { string typeName = GetFullName(signature); var assembly = signature.ResolutionScope.GetAssembly(); return typeName + ", " + assembly.FullName; }
public override uint GetPhysicalLength() { if (Value == null) { return(1); } switch (Type.GetTypeCode(Value.GetType())) { case TypeCode.Boolean: case TypeCode.Byte: case TypeCode.SByte: return(sizeof(byte)); case TypeCode.Char: case TypeCode.Int16: case TypeCode.UInt16: return(sizeof(ushort)); case TypeCode.Single: case TypeCode.Int32: case TypeCode.UInt32: return(sizeof(uint)); case TypeCode.Double: case TypeCode.Int64: case TypeCode.UInt64: return(sizeof(ulong)); case TypeCode.String: return((Value as string).GetSerStringSize()); } var typeSignature = Value as TypeSignature; if (typeSignature != null) { return(TypeNameBuilder.GetAssemblyQualifiedName(typeSignature).GetSerStringSize()); } throw new NotSupportedException("Invalid or unsupported argument element value in custom attribute."); }