当前位置: 首页>>代码示例>>C#>>正文


C# IColumnInfo类代码示例

本文整理汇总了C#中IColumnInfo的典型用法代码示例。如果您正苦于以下问题:C# IColumnInfo类的具体用法?C# IColumnInfo怎么用?C# IColumnInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IColumnInfo类属于命名空间,在下文中一共展示了IColumnInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InvConvertFromCustom

 public static byte[] InvConvertFromCustom(IColumnInfo type_info, object value)
 {
     CheckArgument<byte[]>(value);
     return (byte[])value;
     //            CheckArgument<string>(value);
     //            return Encoding.UTF8.GetBytes((string)value);
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:7,代码来源:TypeInterpreter+Custom.cs

示例2: InvConvertFromList

        public static byte[] InvConvertFromList(IColumnInfo type_info, object value)
        {
            var listType = GetTypeFromList(type_info);
            CheckArgument(listType, value);
            var list_typecode = (type_info as ListColumnInfo).ValueTypeCode;
            var list_typeinfo = (type_info as ListColumnInfo).ValueTypeInfo;

            List<byte[]> bufs = new List<byte[]>();
            int cnt = 0;
            int bsize = 2;
            foreach (var obj in (value as IEnumerable))
            {
                var buf = TypeInterpreter.InvCqlConvert(obj, list_typecode, list_typeinfo);
                bufs.Add(buf);
                bsize += buf.Length;
                cnt++;
            }
            var ret = new byte[bsize];

            var cntbuf = Int16ToBytes((short)cnt);

            int idx = 0;
            Buffer.BlockCopy(cntbuf, 0, ret, 0, 2);
            idx += 2;
            foreach (var buf in bufs)
            {
                Buffer.BlockCopy(buf, 0, ret, idx, buf.Length);
                idx += buf.Length;
            }

            return ret;
        }
开发者ID:sdether,项目名称:csharp-driver,代码行数:32,代码来源:TypeInterpreter+List.cs

示例3: ConvertFromInet

 public static object ConvertFromInet(IColumnInfo type_info, byte[] value, Type cSharpType)
 {
     if (value.Length == 4 || value.Length == 16)
     {
         var ip = new IPAddress(value);
         return new IPEndPoint(ip, 0);
     }
     else
     {
         var length = value[0];
         IPAddress ip;
         int port;
         var buf = new byte[length];
         if (length == 4)
         {
             Buffer.BlockCopy(value, 1, buf, 0, 4);
             ip = new IPAddress(buf);
             port = BytesToInt32(buf, 1 + 4);
             return new IPEndPoint(ip, port);
         }
         else if (length == 16)
         {
             Buffer.BlockCopy(value, 1, buf, 0, 16);
             ip = new IPAddress(buf);
             port = BytesToInt32(buf, 1 + 16);
             return new IPEndPoint(ip, port);
         }
     }
     throw new DriverInternalError("Invalid lenght of Inet Addr");
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:30,代码来源:TypeInterpreter+Inet.cs

示例4: InvConvertFromBoolean

 public static byte[] InvConvertFromBoolean(IColumnInfo type_info, object value)
 {
     CheckArgument<bool>(value);
     var buffer = new byte[1];
     buffer[0] = ((bool)value) ? (byte)0x01 : (byte)0x00;
     return buffer;
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:7,代码来源:TypeInterpreter+Boolean.cs

示例5: ColumnMap

        public ColumnMap(MemberInfo member, IColumnInfo columnInfo)
        {
            FieldName = member.Name;
            ColumnInfo = columnInfo;

            // If the column name is not specified, the field name will be used.
            if (string.IsNullOrEmpty(columnInfo.Name))
                columnInfo.Name = member.Name;

            FieldType = ReflectionHelper.GetMemberType(member);
            Type paramNetType = FieldType;

            Converter = MapRepository.Instance.GetConverter(FieldType);
            if (Converter != null)
            {
                paramNetType = Converter.DbType;
            }

            DBType = MapRepository.Instance.DbTypeBuilder.GetDbType(paramNetType);

            Getter = MapRepository.Instance.ReflectionStrategy.BuildGetter(member.DeclaringType, FieldName);
            Setter = MapRepository.Instance.ReflectionStrategy.BuildSetter(member.DeclaringType, FieldName);

            if (member.MemberType == MemberTypes.Property)
            {
                PropertyInfo pi = (PropertyInfo)member;
                CanRead = pi.CanRead;
                CanWrite = pi.CanWrite;
            }
            else if (member.MemberType == MemberTypes.Field)
            {
                CanRead = true;
                CanWrite = true;
            }
        }
开发者ID:vawen,项目名称:Marr.DataMapper,代码行数:35,代码来源:ColumnMap.cs

示例6: InvConvertFromDouble

 public static byte[] InvConvertFromDouble(IColumnInfo type_info, object value)
 {
     CheckArgument<double>(value);
     byte[] ret = BitConverter.GetBytes((double)value);
     Array.Reverse(ret);
     return ret;
 }
开发者ID:joaquincasares,项目名称:csharp-driver,代码行数:7,代码来源:TypeInterpreter+Double.cs

示例7: ConvertFromTimestamp

 public static object ConvertFromTimestamp(IColumnInfo type_info, byte[] value, Type cSharpType)
 {
     if (cSharpType == null || cSharpType.Equals(typeof(DateTimeOffset)))
         return BytesToDateTimeOffset(value, 0);
     else
         return BytesToDateTimeOffset(value, 0).DateTime;
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:7,代码来源:TypeInterpreter+Timestamp.cs

示例8: ConvertFromSet

 public static object ConvertFromSet(IColumnInfo type_info, byte[] value, Type cSharpType)
 {
     if (type_info is SetColumnInfo)
     {
         var list_typecode = (type_info as SetColumnInfo).KeyTypeCode;
         var list_typeinfo = (type_info as SetColumnInfo).KeyTypeInfo;
         var value_type = TypeInterpreter.GetDefaultTypeFromCqlType(list_typecode, list_typeinfo);
         int count = BytesToInt16(value, 0);
         int idx = 2;
         var openType = typeof(List<>);
         var listType = openType.MakeGenericType(value_type);
         object ret = Activator.CreateInstance(listType);
         var addM = listType.GetMethod("Add");
         for (int i = 0; i < count; i++)
         {
             var val_buf_len = BytesToInt16(value, idx);
             idx += 2;
             byte[] val_buf = new byte[val_buf_len];
             Buffer.BlockCopy(value, idx, val_buf, 0, val_buf_len);
             idx += val_buf_len;
             addM.Invoke(ret, new object[] { TypeInterpreter.CqlConvert(val_buf, list_typecode, list_typeinfo) });
         }
         return ret;
     }
     throw new DriverInternalError("Invalid ColumnInfo");
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:26,代码来源:TypeInterpreter+Set.cs

示例9: ConfigurableColumn

        public ConfigurableColumn(ListStoreMapping mapping, IColumnInfo info, DataColumn column)
        {
            this.Mapping = mapping;
            this.ColumnInfo = info;
            this.DataColumn = column;

            this.Reorderable = true;
            this.Resizable = true;
            this.MinWidth = 20;
            this.FixedWidth = 80;
            this.Sizing = TreeViewColumnSizing.Fixed;
            this.Clickable = true;
            this.SortIndicator = false;
            this.SortOrder = SortType.Ascending;

            if(this.ColumnInfo != null)
            {
                this.Title = this.ColumnInfo.Caption;
                this.Visible = this.ColumnInfo.Visible;
            }
            else if (this.DataColumn != null)
            {
                this.Title = this.DataColumn.Caption;
            }

            CreateCellRenderers();

            this.Mapping.ColumnsStore.AddNode(this);

            this.AddNotification(NotifyChange);
            this.WidthAdjustment = new Adjustment(80, 20, 1000, 1, 2, 0);
            this.WidthAdjustment.Changed += delegate {
                this.FixedWidth = (int)(this.WidthAdjustment.Value);
            };
        }
开发者ID:langpavel,项目名称:LPS-old,代码行数:35,代码来源:ConfigurableColumn.cs

示例10: CreateColumn

 public ConfigurableColumn CreateColumn(IColumnInfo info, DataColumn column)
 {
     if(info != null)
     {
         if(!String.IsNullOrEmpty(info.FkReferenceTable))
             return new LookupColumn(this, info, column);
     }
     if(column != null)
     {
         Type type = column.DataType;
         if(type == typeof(DateTime))
             return new DateTimeColumn(this, info, column);
         else if(type == typeof(string))
             return new StringColumn(this, info, column);
         else if(type == typeof(bool))
             return new CheckBoxColumn(this, info, column);
         else if(type == typeof(Decimal))
             return new DecimalColumn(this, info, column);
         else if(type == typeof(Int64))
             return new Int64Column(this, info, column);
         else if(type == typeof(Int32))
             return new Int64Column(this, info, column);
         throw new Exception("Nelze vytvořit sloupeček pro typ " + type.ToString());
     }
     throw new Exception("Nelze vytvořit sloupeček");
 }
开发者ID:langpavel,项目名称:LPS-old,代码行数:26,代码来源:ListStoreMapping.cs

示例11: InvConvertFromTimestamp

 public static byte[] InvConvertFromTimestamp(IColumnInfo type_info, object value)
 {
     CheckArgument<DateTimeOffset, DateTime>(value);
     if(value is DateTimeOffset)
         return DateTimeOffsetToBytes((DateTimeOffset)value);
     else
         return DateTimeOffsetToBytes(new DateTimeOffset((DateTime)value));
 }
开发者ID:hjarraya,项目名称:csharp-driver,代码行数:8,代码来源:TypeInterpreter+Timestamp.cs

示例12: InvConvertFromVarint

        public static byte[] InvConvertFromVarint(IColumnInfo type_info, object value)
        {
            CheckArgument<BigInteger>(value);
            var ret  = ((BigInteger)value).ToByteArray();

            Array.Reverse(ret);
            return ret;
        }
开发者ID:sdether,项目名称:csharp-driver,代码行数:8,代码来源:TypeInterpreter+Varint.cs

示例13: Deserialize

 public override object Deserialize(ushort protocolVersion, byte[] buffer, int offset, int length, IColumnInfo typeInfo)
 {
     DeserializationCounter++;
     if (_fixedValue)
     {
         return Utils.SliceBuffer(buffer, offset, length);
     }
     return base.Deserialize(protocolVersion, buffer, offset, length, typeInfo);
 }
开发者ID:yar1k0v,项目名称:csharp-driver,代码行数:9,代码来源:UdtSerializerWrapper.cs

示例14: Deserialize

 public object Deserialize(ushort protocolVersion, byte[] buffer, int offset, int length, IColumnInfo typeInfo)
 {
     buffer = Utils.SliceBuffer(buffer, offset, length);
     if (_reverse)
     {
         Array.Reverse(buffer);   
     }
     return _adapter.ConvertFrom(buffer);
 }
开发者ID:alprema,项目名称:csharp-driver,代码行数:9,代码来源:LegacyTypeSerializer.cs

示例15: BuildPropertieStr

        public string BuildPropertieStr(IColumnInfo column)
        {
            StringBuilder sb = new StringBuilder();
            bool hasvalue = false;
            sb.AppendFormat("this.Property(t => t.{0})", column.PascalName);

            if (column.Identity)
            {
                hasvalue = true;
                sb.Append("\r\n                ");
                sb.Append(".HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)");
            }

            if (column.Computed)
            {
                hasvalue = true;
                sb.Append("\r\n                ");
                sb.Append(".HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)");
            }

            if (column.IsPrimaryKey)
            {
                if (!column.Identity)
                {
                    hasvalue = true;
                    sb.Append("\r\n                ");
                    sb.Append(".HasDatabaseGeneratedOption(DatabaseGeneratedOption.None)");
                }
            }

            //if (!column.HasStringLength && column.Nullable)
            //    return string.Empty;

            if (column.HasStringLength)
            {
                hasvalue = true;
                sb.Append("\r\n                ");
                sb.AppendFormat(".HasMaxLength({0})", column.MaxLength);
            }

            if (!column.Nullable && !column.IsPrimaryKey && !column.Identity && !column.Computed)
            {
                hasvalue = true;
                sb.Append("\r\n                ");
                sb.Append(".IsRequired()");
            }

            if(!hasvalue)
            {
                return string.Empty;
            }

            sb.Append(";");
            return sb.ToString();
        }
开发者ID:zhh007,项目名称:CKGen,代码行数:55,代码来源:PageViewModel.cs


注:本文中的IColumnInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。