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


C# FieldDescriptor.IsDefaultValueFromContext方法代码示例

本文整理汇总了C#中FieldDescriptor.IsDefaultValueFromContext方法的典型用法代码示例。如果您正苦于以下问题:C# FieldDescriptor.IsDefaultValueFromContext方法的具体用法?C# FieldDescriptor.IsDefaultValueFromContext怎么用?C# FieldDescriptor.IsDefaultValueFromContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FieldDescriptor的用法示例。


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

示例1: IsSerializable

        private static bool IsSerializable(FieldDescriptor fd, object obj)
        {
            switch (fd.FdType)
            {
                case FieldTypes.Scalar:
                    if (fd.IsDefaultValueFromContext(obj))
                        return false;
                    break;
                case FieldTypes.CompositeElement:
                case FieldTypes.CollectionElement:
                case FieldTypes.MapElement:
                    Object tempObj = fd.GetObject(obj);
                    if (tempObj == null)
                        return false;
                    break;
                case FieldTypes.CollectionScalar:
                case FieldTypes.MapScalar:
                    Object scalarCollectionObject = fd.GetObject(obj);
                    if (scalarCollectionObject == null)
                        return false;
                    ICollection scalarCollection = XmlTools.GetCollection(scalarCollectionObject);
                    if (scalarCollection == null || scalarCollection.Count <= 0)
                        return false;
                    break;
            }

            return true;
        }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:28,代码来源:JsonSerializer.cs

示例2: WriteValue

        /// <summary>
        /// 
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="fd"></param>
        /// <param name="outputBuffer"></param>
        /// <param name="translationContext"></param>
        private void WriteValue(object obj, FieldDescriptor fd, BinaryWriter outputBuffer, TranslationContext translationContext)
        {
            if (!fd.IsDefaultValueFromContext(obj))
            {
                outputBuffer.Write(fd.TlvId);

                StringBuilder value = new StringBuilder();
                StringWriter valueWriter = new StringWriter(value);

                fd.AppendValue(valueWriter, obj, translationContext, Format.Tlv);

                MemoryStream temp = new MemoryStream();
                BinaryWriter tempStream = new BinaryWriter(temp);
                tempStream.Write(value.ToString().ToCharArray());

                outputBuffer.Write((int)temp.Length);
                temp.WriteTo(outputBuffer.BaseStream);
            }
        }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:26,代码来源:TlvSerializer.cs

示例3: WriteValueAsText

 /// <summary>
 /// 
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="fd"></param>
 /// <param name="textWriter"></param>
 private void WriteValueAsText(object obj, FieldDescriptor fd, TextWriter textWriter)
 {
     if (!fd.IsDefaultValueFromContext(obj))
     {
         if (fd.IsCdata)
             textWriter.Write(StartCdata);
         fd.AppendValue(textWriter, obj, null, Format.Xml);
         if (fd.IsCdata)
             textWriter.Write(EndCdata);
     }
 }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:17,代码来源:XmlSerializer.cs

示例4: WriteValueAsLeaf

 /// <summary>
 /// 
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="fd"></param>
 /// <param name="textWriter"></param>
 /// <param name="translationContext"></param>
 private void WriteValueAsLeaf(object obj, FieldDescriptor fd, TextWriter textWriter, TranslationContext translationContext)
 {
     if (!fd.IsDefaultValueFromContext(obj))
     {
         textWriter.Write('<');
         textWriter.Write(fd.ElementStart);
         textWriter.Write('>');
         fd.AppendValue(textWriter, obj, translationContext, Format.Xml);
         textWriter.Write('<');
         textWriter.Write('/');
         textWriter.Write(fd.ElementStart);
         textWriter.Write('>');
     }
 }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:21,代码来源:XmlSerializer.cs

示例5: WriteValueAsAtrribute

        /// <summary>
        /// 
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="fd"></param>
        /// <param name="textWriter"></param>
        /// <param name="translationContext"></param>
        private static void WriteValueAsAtrribute(object obj, FieldDescriptor fd, TextWriter textWriter, TranslationContext translationContext)
        {
            if (obj != null)
            {
                if (!fd.IsDefaultValueFromContext(obj))
                {
                    textWriter.Write(' ');
                    textWriter.Write(fd.TagName);
                    textWriter.Write('=');
                    textWriter.Write('"');

                    fd.AppendValue(textWriter, obj, translationContext, Format.Xml);

                    textWriter.Write('"');
                }
            }
        }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:24,代码来源:XmlSerializer.cs

示例6: WriteScalarBibtexAttribute

 /// <summary>
 /// 
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="fd"></param>
 /// <param name="textWriter"></param>
 /// <param name="translationContext"></param>
 private void WriteScalarBibtexAttribute(object obj, FieldDescriptor fd, TextWriter textWriter,
     TranslationContext translationContext)
 {
     if (!fd.IsDefaultValueFromContext(obj))
     {
         fd.AppendValue(textWriter, obj, translationContext, Format.Bibtex);
     }
 }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:15,代码来源:BibtexSerializer.cs

示例7: WriteBibtexAttribute

        /// <summary>
        /// 
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="fd"></param>
        /// <param name="textWriter"></param>
        /// <param name="translationContext"></param>
        private void WriteBibtexAttribute(object obj, FieldDescriptor fd, TextWriter textWriter,
            TranslationContext translationContext)
        {
            if (!fd.IsDefaultValueFromContext(obj))
            {
                if (!fd.IsBibtexKey)
                {
                    textWriter.Write(fd.BibtexTagName);
                    textWriter.Write('=');
                    textWriter.Write('{');
                }
            }

            fd.AppendValue(textWriter, obj, translationContext, Format.Bibtex);

            if (!fd.IsBibtexKey)
                textWriter.Write('}');
        }
开发者ID:ecologylab,项目名称:simplCSharp,代码行数:25,代码来源:BibtexSerializer.cs


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