// This is a positional argument public SystemTypesSupported(SystemTypesEnum systemTypes) { this.SystemTypes = systemTypes; if ((systemTypes & SystemTypesEnum.WINDOWS) == SystemTypesEnum.WINDOWS) { ValidConfiguration = true; } else if ((systemTypes & SystemTypesEnum.ANDROID) == SystemTypesEnum.ANDROID) { ValidConfiguration = true; } else if ((systemTypes & SystemTypesEnum.IOS) == SystemTypesEnum.IOS) { ValidConfiguration = true; } }
/// <summary> /// 返回指定类型的数据长度,如果返回-1 则表示该数据类型没有一个固定长度 /// </summary> /// <param name="typeEnum"></param> /// <returns></returns> public static int GetSize(SystemTypesEnum typeEnum) { var size = -1; switch (typeEnum) { case SystemTypesEnum.Int32: case SystemTypesEnum.Single: case SystemTypesEnum.UInt32: size = 4; break; case SystemTypesEnum.TimeSpan: case SystemTypesEnum.Double: case SystemTypesEnum.Int64: case SystemTypesEnum.DateTime: case SystemTypesEnum.UInt64: size = 8; break; case SystemTypesEnum.Byte: case SystemTypesEnum.SByte: case SystemTypesEnum.Boolean: size = 1; break; case SystemTypesEnum.UInt16: case SystemTypesEnum.Char: case SystemTypesEnum.Int16: size = 2; break; case SystemTypesEnum.Decimal: size = 16; break; } return(size); }
public static string GetTypeString(Type type, bool fullName) { if (type == null || type.FullName == "System.Void") { return("void"); } if (fullName) { return(GetTypeName(type)); } else { if (!allTypes.Contains(type)) { return(GetTypeName(type)); } if (!type.IsArray) { SystemTypesEnum en = (SystemTypesEnum)System.Enum.Parse(typeof(SystemTypesEnum), type.Name, true); switch (en) { case SystemTypesEnum.TimeSpanArray: return("TimeSpan[]"); case SystemTypesEnum.UInt16Array: return("ushort[]"); case SystemTypesEnum.UInt32Array: return("uint[]"); case SystemTypesEnum.UInt64Array: return("ulong[]"); case SystemTypesEnum.Int32: return("int"); case SystemTypesEnum.Int64: return("long"); case SystemTypesEnum.SByte: return("sbyte"); case SystemTypesEnum.Byte: return("byte"); case SystemTypesEnum.Boolean: return("bool"); case SystemTypesEnum.Char: return("char"); case SystemTypesEnum.UInt16: return("ushort"); case SystemTypesEnum.UInt64: return("ulong"); case SystemTypesEnum.UInt32: return("uint"); case SystemTypesEnum.Decimal: return("decimal"); case SystemTypesEnum.Double: return("double"); case SystemTypesEnum.Single: return("float"); case SystemTypesEnum.String: return("string"); case SystemTypesEnum.Int16: return("short"); case SystemTypesEnum.Object: return("object"); case SystemTypesEnum.Void: return("void"); } } return(type.FullName.Replace('+', '.')); } }