System.Runtime.Serialization.FormatterServices.GetClrTypeFullNameForNonArrayTypes C# (CSharp) Method

GetClrTypeFullNameForNonArrayTypes() private static method

private static GetClrTypeFullNameForNonArrayTypes ( Type type ) : string
type System.Type
return string
        private static string GetClrTypeFullNameForNonArrayTypes(Type type)
        {
            if (!type.IsGenericType)
            {
                return type.FullName;
            }

            var builder = new StringBuilder(type.GetGenericTypeDefinition().FullName).Append("[");

            bool hasTypeForwardedFrom;
            foreach (Type genericArgument in type.GetGenericArguments())
            {
                builder.Append("[").Append(GetClrTypeFullName(genericArgument)).Append(", ");
                builder.Append(GetClrAssemblyName(genericArgument, out hasTypeForwardedFrom)).Append("],");
            }

            //remove the last comma and close typename for generic with a close bracket
            return builder.Remove(builder.Length - 1, 1).Append("]").ToString();
        }
    }

Usage Example

コード例 #1
0
 // Token: 0x06005080 RID: 20608 RVA: 0x0011B159 File Offset: 0x00119359
 internal static string GetClrTypeFullName(Type type)
 {
     if (type.IsArray)
     {
         return(FormatterServices.GetClrTypeFullNameForArray(type));
     }
     return(FormatterServices.GetClrTypeFullNameForNonArrayTypes(type));
 }