• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IBsonSerializer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: BsonSerializationInfo

 // constructors
 /// <summary>
 /// Initializes a new instance of the BsonSerializationInfo class.
 /// </summary>
 /// <param name="elementName">The element name.</param>
 /// <param name="serializer">The serializer.</param>
 /// <param name="nominalType">The nominal type.</param>
 /// <param name="serializationOptions">The serialization options.</param>
 public BsonSerializationInfo(string elementName, IBsonSerializer serializer, Type nominalType, IBsonSerializationOptions serializationOptions)
 {
     _elementName = elementName;
     _serializer = serializer;
     _nominalType = nominalType;
     _serializationOptions = serializationOptions;
 }
开发者ID:horizon3d,项目名称:SequoiaDB,代码行数:15,代码来源:BsonSerializationInfo.cs


示例2: BaseBsonSerializer

 protected BaseBsonSerializer(Type documentType, IBsonSerializer serializer, IMongoDbProvider mongoDbProvider, IIdentifierFinder identifierFinder)
 {
     IdentifierFinder = identifierFinder;
     DocumentType = documentType;
     Serializer = serializer;
     MongoDbProvider = mongoDbProvider;
 }
开发者ID:virajs,项目名称:MongoDB-Mapping-Attributes,代码行数:7,代码来源:BaseBsonSerializer.cs


示例3: BsonMigrationSerializer

 public BsonMigrationSerializer(IBsonSerializer versionSerializer, IVersionDetectionStrategy versionDetectionStrategy, BsonClassMap classMap)
     : base(classMap)
 {
     _versionSerializer = versionSerializer;
     _versionDetectionStrategy = versionDetectionStrategy;
     _migrations = ExtractMigrations(classMap.ClassType);
 }
开发者ID:RasmusTG,项目名称:mongo-csharp-migrations,代码行数:7,代码来源:BsonMigrationSerializer.cs


示例4: InsertRequest

 /// <summary>
 /// Initializes a new instance of the <see cref="InsertRequest" /> class.
 /// </summary>
 /// <param name="nominalType">Type nominal type.</param>
 /// <param name="document">The document.</param>
 /// <param name="serializer">The serializer.</param>
 public InsertRequest(Type nominalType, object document, IBsonSerializer serializer)
     : base(WriteRequestType.Insert)
 {
     _nominalType = nominalType;
     _document = document;
     _serializer = serializer;
 }
开发者ID:Bogdan0x400,项目名称:mongo-csharp-driver,代码行数:13,代码来源:InsertRequest.cs


示例5: FieldExpression

 public FieldExpression(Expression document, string fieldName, IBsonSerializer serializer, Expression original)
 {
     _document = document;
     _fieldName = Ensure.IsNotNull(fieldName, nameof(fieldName));
     _serializer = Ensure.IsNotNull(serializer, nameof(serializer));
     _original = original;
 }
开发者ID:RavenZZ,项目名称:MDRelation,代码行数:7,代码来源:FieldExpression.cs


示例6: Apply

        // protected methods
        /// <summary>
        /// Reconfigures the specified serializer by applying this attribute to it.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <returns>A reconfigured serializer.</returns>
        protected override IBsonSerializer Apply(IBsonSerializer serializer)
        {
            var representationConfigurable = serializer as IRepresentationConfigurable;
            if (representationConfigurable != null)
            {
                var reconfiguredSerializer = representationConfigurable.WithRepresentation(_representation);

                var converterConfigurable = reconfiguredSerializer as IRepresentationConverterConfigurable;
                if (converterConfigurable != null)
                {
                    var converter = new RepresentationConverter(_allowOverflow, _allowTruncation);
                    reconfiguredSerializer = converterConfigurable.WithConverter(converter);
                }

                return reconfiguredSerializer;
            }

            // for backward compatibility representations of Array and Document are mapped to DictionaryRepresentations if possible
            var dictionaryRepresentationConfigurable = serializer as IDictionaryRepresentationConfigurable;
            if (dictionaryRepresentationConfigurable != null)
            {
                if (_representation == BsonType.Array || _representation == BsonType.Document)
                {
                    var dictionaryRepresentation = (_representation == BsonType.Array) ? DictionaryRepresentation.ArrayOfArrays: DictionaryRepresentation.Document;
                    return dictionaryRepresentationConfigurable.WithDictionaryRepresentation(dictionaryRepresentation);
                }
            }

            return base.Apply(serializer);
        }
开发者ID:Bogdan0x400,项目名称:mongo-csharp-driver,代码行数:36,代码来源:BsonRepresentationAttribute.cs


示例7: ArrayIndexExpression

 public ArrayIndexExpression(Expression array, Expression index, IBsonSerializer serializer, Expression original)
 {
     _array = Ensure.IsNotNull(array, nameof(array));
     _index = Ensure.IsNotNull(index, nameof(index));
     _serializer = Ensure.IsNotNull(serializer, nameof(serializer));
     _original = original;
 }
开发者ID:RavenZZ,项目名称:MDRelation,代码行数:7,代码来源:ArrayIndexExpression.cs


示例8: RegisterExpressionSerializer

 /// <summary>
 /// Registers a serializer with the given expression.
 /// </summary>
 /// <param name="node">The expression.</param>
 /// <param name="serializer">The serializer.</param>
 public void RegisterExpressionSerializer(Expression node, IBsonSerializer serializer)
 {
     _serializationInfoCache[node] = new BsonSerializationInfo(
         null,
         serializer,
         node.Type);
 }
开发者ID:Bogdan0x400,项目名称:mongo-csharp-driver,代码行数:12,代码来源:BsonSerializationInfoHelper.cs


示例9: ApplyAttribute

        // public methods
        /// <summary>
        /// Apply an attribute to these serialization options and modify the options accordingly.
        /// </summary>
        /// <param name="serializer">The serializer that these serialization options are for.</param>
        /// <param name="attribute">The serialization options attribute.</param>
        public override void ApplyAttribute(IBsonSerializer serializer, Attribute attribute)
        {
            EnsureNotFrozen();
            var itemSerializer = serializer.GetItemSerializationInfo().Serializer;
            if (_itemSerializationOptions == null)
            {
                var itemDefaultSerializationOptions = itemSerializer.GetDefaultSerializationOptions();

                // special case for legacy collections: allow BsonRepresentation on object
                if (itemDefaultSerializationOptions == null &&
                    (serializer.GetType() == typeof(EnumerableSerializer) || serializer.GetType() == typeof(QueueSerializer) || serializer.GetType() == typeof(StackSerializer)) &&
                    attribute.GetType() == typeof(BsonRepresentationAttribute))
                {
                    itemDefaultSerializationOptions = new RepresentationSerializationOptions(BsonType.Null); // will be modified later by ApplyAttribute
                }

                if (itemDefaultSerializationOptions == null)
                {
                    var message = string.Format(
                        "A serialization options attribute of type {0} cannot be used when the serializer is of type {1} and the item serializer is of type {2}.",
                        BsonUtils.GetFriendlyTypeName(attribute.GetType()),
                        BsonUtils.GetFriendlyTypeName(serializer.GetType()),
                        BsonUtils.GetFriendlyTypeName(itemSerializer.GetType()));
                    throw new NotSupportedException(message);
                }

                _itemSerializationOptions = itemDefaultSerializationOptions.Clone();
            }
            _itemSerializationOptions.ApplyAttribute(itemSerializer, attribute);
        }
开发者ID:ncipollina,项目名称:mongo-csharp-driver,代码行数:36,代码来源:ArraySerializationOptions.cs


示例10: CreateListSerializer

 public static IBsonSerializer CreateListSerializer(IBsonSerializer itemSerializer)
 {
     var implementationType = typeof(List<>).MakeGenericType(itemSerializer.ValueType);
     return (IBsonSerializer)Activator.CreateInstance(
         typeof(EnumerableInterfaceImplementerSerializer<>).MakeGenericType(
             implementationType),
         itemSerializer);
 }
开发者ID:mfidemraizer,项目名称:mongo-csharp-driver,代码行数:8,代码来源:SerializerHelper.cs


示例11: RegisterExpressionSerializer

 /// <summary>
 /// Registers a serializer with the given expression.
 /// </summary>
 /// <param name="node">The expression.</param>
 /// <param name="serializer">The serializer.</param>
 public void RegisterExpressionSerializer(Expression node, IBsonSerializer serializer)
 {
     _serializationInfoCache[node] = new BsonSerializationInfo(
         null,
         serializer,
         node.Type,
         serializer.GetDefaultSerializationOptions());
 }
开发者ID:ningliaoyuan,项目名称:mongo-csharp-driver,代码行数:13,代码来源:BsonSerializationInfoHelper.cs


示例12: AccumulatorExpression

 public AccumulatorExpression(Type type, string fieldName, IBsonSerializer serializer, AccumulatorType accumulatorType, Expression argument)
 {
     _type = Ensure.IsNotNull(type, nameof(type));
     _fieldName = Ensure.IsNotNull(fieldName, nameof(fieldName));
     _serializer = Ensure.IsNotNull(serializer, nameof(serializer));
     _accumulatorType = accumulatorType;
     _argument = Ensure.IsNotNull(argument, nameof(argument));
 }
开发者ID:RavenZZ,项目名称:MDRelation,代码行数:8,代码来源:AccumulatorExpression.cs


示例13: TryFindSerializer

        public static bool TryFindSerializer(Expression node, Type type, out IBsonSerializer serializer)
        {
            var finder = new PreviouslyUsedSerializerFinder(type);
            finder.Visit(node);

            serializer = finder._serializer;
            return serializer != null;
        }
开发者ID:RavenZZ,项目名称:MDRelation,代码行数:8,代码来源:PreviouslyUsedSerializerFinder.cs


示例14: AggregateResultOperator

        public AggregateResultOperator(Expression seed, Expression reducer, Expression finalizer, string itemName, IBsonSerializer serializer)
        {
            _seed = Ensure.IsNotNull(seed, nameof(seed));
            _reducer = Ensure.IsNotNull(reducer, nameof(reducer));
            _serializer = Ensure.IsNotNull(serializer, nameof(serializer));

            _finalizer = finalizer;
            _itemName = itemName;
        }
开发者ID:mfidemraizer,项目名称:mongo-csharp-driver,代码行数:9,代码来源:AggregateResultOperator.cs


示例15: ConfigureChildSerializer

        private IBsonSerializer ConfigureChildSerializer(IChildSerializerConfigurable configurable, IBsonSerializer childSerializer)
        {
            var childConfigurable = configurable.ChildSerializer as IChildSerializerConfigurable;
            if (childConfigurable != null)
            {
                childSerializer = ConfigureChildSerializer(childConfigurable, childSerializer);
            }

            return configurable.WithChildSerializer(childSerializer);
        }
开发者ID:robblovell,项目名称:mongo-csharp-driver,代码行数:10,代码来源:SerializerBuilder.cs


示例16: Apply

        // protected methods
        /// <summary>
        /// Reconfigures the specified serializer by applying this attribute to it.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <returns>A reconfigured serializer.</returns>
        protected override IBsonSerializer Apply(IBsonSerializer serializer)
        {
            var dictionaryRepresentationConfigurable = serializer as IDictionaryRepresentationConfigurable;
            if (dictionaryRepresentationConfigurable != null)
            {
                return dictionaryRepresentationConfigurable.WithDictionaryRepresentation(_representation);
            }

            return base.Apply(serializer);
        }
开发者ID:GGsus,项目名称:mongo-csharp-driver,代码行数:16,代码来源:BsonDictionaryOptionsAttribute.cs


示例17: Apply

        // protected methods
        /// <summary>
        /// Reconfigures the specified serializer by applying this attribute to it.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <returns>A reconfigured serializer.</returns>
        protected override IBsonSerializer Apply(IBsonSerializer serializer)
        {
            var timeSpanSerializer = serializer as TimeSpanSerializer;
            if (timeSpanSerializer != null)
            {
                return timeSpanSerializer.WithRepresentation(_representation, _units);
            }

            return base.Apply(serializer);
        }
开发者ID:Bogdan0x400,项目名称:mongo-csharp-driver,代码行数:16,代码来源:BsonTimeSpanOptionsAttribute.cs


示例18: RecursiveConfigureChildSerializer

        public static IBsonSerializer RecursiveConfigureChildSerializer(IChildSerializerConfigurable configurable, IBsonSerializer childSerializer)
        {
            var childConfigurable = configurable.ChildSerializer as IChildSerializerConfigurable;
            if (childConfigurable != null)
            {
                childSerializer = RecursiveConfigureChildSerializer(childConfigurable, childSerializer);
            }

            return configurable.WithChildSerializer(childSerializer);
        }
开发者ID:mfidemraizer,项目名称:mongo-csharp-driver,代码行数:10,代码来源:SerializerHelper.cs


示例19: CreateEnumerableSerializer

        public static IBsonSerializer CreateEnumerableSerializer(IBsonSerializer itemSerializer)
        {
            var listSerializer = CreateListSerializer(itemSerializer);

            return (IBsonSerializer)Activator.CreateInstance(
                typeof(ImpliedImplementationInterfaceSerializer<,>).MakeGenericType(
                    typeof(IEnumerable<>).MakeGenericType(itemSerializer.ValueType),
                    listSerializer.ValueType),
                listSerializer);
        }
开发者ID:mfidemraizer,项目名称:mongo-csharp-driver,代码行数:10,代码来源:SerializerHelper.cs


示例20: BsonDeserializationContext

 // constructors
 private BsonDeserializationContext(
     IBsonReader reader,
     bool allowDuplicateElementNames,
     IBsonSerializer dynamicArraySerializer,
     IBsonSerializer dynamicDocumentSerializer)
 {
     _reader = reader;
     _allowDuplicateElementNames = allowDuplicateElementNames;
     _dynamicArraySerializer = dynamicArraySerializer;
     _dynamicDocumentSerializer = dynamicDocumentSerializer;
 }
开发者ID:narutoswj,项目名称:mongo-csharp-driver,代码行数:12,代码来源:BsonDeserializationContext.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IBuffer类代码示例发布时间:2022-05-24
下一篇:
C# IBsonSerializationOptions类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap