コード例 #1
0
        public InternalDataType AddType(TypeInfo typeInfo)
        {
            this.ValidateAddType(typeInfo);
            var dataType = new InternalDataType(typeInfo.Name, typeInfo.CategoryPath)
            {
                InternalTypeID  = typeInfo.ID,
                InternalTags    = typeInfo.Tags,
                InternalComment = typeInfo.Comment,
                InternalIsFlag  = typeInfo.IsFlag,
            };

            dataType.OmitSignatureDate = true;
            for (var i = 0; i < typeInfo.Members.Length; i++)
            {
                dataType.AddMember(typeInfo.Members[i]);
            }
            dataType.OmitSignatureDate = false;

            this.Tables.Add(dataType);

            dataType.InternalCreationInfo     = typeInfo.CreationInfo;
            dataType.InternalModificationInfo = typeInfo.ModificationInfo;
            dataType.AcceptChanges();
            return(dataType);
        }
コード例 #2
0
 public InternalDataColumn(CremaDataColumn target, string columnName, InternalDataType dataType)
     : base(columnName, typeof(string))
 {
     this.ValidateConstructor(columnName, dataType);
     base.Target        = target;
     this.ColumnMapping = MappingType.Element;
     this.cremaType     = dataType;
 }
コード例 #3
0
 public void ValidateSetCremaType(InternalDataType value)
 {
     this.ValidateSetProperty(nameof(this.CremaType));
     foreach (var item in this.SiblingColumns.ToArray())
     {
         item.OnValidateSetCremaType(value);
     }
 }
コード例 #4
0
        internal CremaDataType(InternalDataType type)
        {
            this.InternalObject = type;
            this.builder        = new CremaDataTypeMemberBuilder(this);
            this.Attributes     = new CremaAttributeCollection(this.InternalObject);
            this.Members        = new CremaDataTypeMemberCollection(this.InternalObject);

            this.AttachEventHandlers();
        }
コード例 #5
0
 internal CremaDataTypeMemberCollection(InternalDataType type)
 {
     this.type     = type;
     this.itemList = type.RowList;
 }
コード例 #6
0
 /// <summary>
 /// 2개 단위로 인자를 설정해야 함
 /// name, value
 /// </summary>
 public static string GenerateHashValue(params object[] args)
 {
     return(InternalDataType.GenerateHashValue(args));
 }
コード例 #7
0
 public static string GenerateHashValue(params TypeMemberInfo[] members)
 {
     return(InternalDataType.GenerateHashValue(members));
 }
コード例 #8
0
 public CremaDataTypeClearEventArgs(DataTableClearEventArgs e)
 {
     this.type = e.Table as InternalDataType;
 }