public override int GetHashCode() { unchecked { var result = 0; result = (result * 397) ^ DataObjectType.GetHashCode(); result = (result * 397) ^ (IsCollection.Value ? 1 : 0); return(result); } }
public DataType(DataObjectType dataObjectType, bool?isCollection, IReference semanticId = null) { DataObjectType = dataObjectType; SemanticId = semanticId; SystemType = GetSystemTypeFromDataType(dataObjectType); if (isCollection.HasValue) { IsCollection = isCollection; } else { IsCollection = false; } }
public DataType(DataObjectType dataObjectType) : this(dataObjectType, false, null) { }
public static Type GetSystemTypeFromDataType(DataObjectType dataObjectType) { if (dataObjectType == DataObjectType.String) { return(typeof(string)); } if (dataObjectType == DataObjectType.LangString) { return(typeof(string)); } else if (dataObjectType == DataObjectType.Bool) { return(typeof(bool)); } else if (dataObjectType == DataObjectType.Float) { return(typeof(float)); } else if (dataObjectType == DataObjectType.Double) { return(typeof(double)); } else if (dataObjectType == DataObjectType.UInt8) { return(typeof(byte)); } else if (dataObjectType == DataObjectType.UInt16) { return(typeof(UInt16)); } else if (dataObjectType == DataObjectType.UInt32) { return(typeof(UInt32)); } else if (dataObjectType == DataObjectType.UInt64) { return(typeof(UInt64)); } else if (dataObjectType == DataObjectType.Int8) { return(typeof(sbyte)); } else if (dataObjectType == DataObjectType.Int16) { return(typeof(Int16)); } else if (dataObjectType == DataObjectType.Int32) { return(typeof(Int32)); } else if (dataObjectType == DataObjectType.Int64) { return(typeof(Int64)); } else if (dataObjectType == DataObjectType.Integer) { return(typeof(decimal)); } else if (dataObjectType == DataObjectType.NegativeInteger) { return(typeof(decimal)); } else if (dataObjectType == DataObjectType.PositiveInteger) { return(typeof(decimal)); } else if (dataObjectType == DataObjectType.NonNegativeInteger) { return(typeof(decimal)); } else if (dataObjectType == DataObjectType.NonPositiveInteger) { return(typeof(decimal)); } else if (dataObjectType == DataObjectType.AnyType) { return(typeof(object)); } else if (dataObjectType == DataObjectType.AnySimpleType) { return(typeof(string)); } else if (dataObjectType == DataObjectType.DateTime) { return(typeof(DateTime)); } else if (dataObjectType == DataObjectType.DateTimeStamp) { return(typeof(DateTime)); } else if (dataObjectType == DataObjectType.AnyURI) { return(typeof(Uri)); } else if (dataObjectType == DataObjectType.Base64Binary) { return(typeof(byte[])); } else if (dataObjectType == DataObjectType.HexBinary) { return(typeof(byte[])); } else if (dataObjectType == DataObjectType.Duration) { return(typeof(TimeSpan)); } else if (dataObjectType == DataObjectType.DayTimeDuration) { return(typeof(TimeSpan)); } else if (dataObjectType == DataObjectType.YearMonthDuration) { return(typeof(TimeSpan)); } else if (dataObjectType == ModelType.Property) { return(typeof(Property)); } else if (dataObjectType == ModelType.Blob) { return(typeof(Blob)); } else if (dataObjectType == ModelType.File) { return(typeof(File)); } else if (dataObjectType == ModelType.ReferenceElement) { return(typeof(ReferenceElement)); } else if (dataObjectType == ModelType.SubmodelElementCollection) { return(typeof(SubmodelElementCollection)); } else { return(null); } }