當前位置: 首頁>>代碼示例>>C#>>正文


C# BsonValue.GetType方法代碼示例

本文整理匯總了C#中BsonValue.GetType方法的典型用法代碼示例。如果您正苦於以下問題:C# BsonValue.GetType方法的具體用法?C# BsonValue.GetType怎麽用?C# BsonValue.GetType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在BsonValue的用法示例。


在下文中一共展示了BsonValue.GetType方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: BsonValueMemberProvider

 public BsonValueMemberProvider(BsonValue value)
 {
     this.mValue = value;
     this.mPropsToWrite = mValue.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)
         .Where(p => !IgnoredProperties.Contains(p.Name) && p.GetIndexParameters().Length == 0)
         .ToArray();
 }
開發者ID:gburgett,項目名稱:LinqPad-mongo-driver,代碼行數:7,代碼來源:BsonValueMemberProvider.cs

示例2: ConvertBsonValue

        private static object ConvertBsonValue(BsonValue bsonValue, ResourceType resourceType, ResourceProperty resourceProperty, string propertyName, MongoMetadata mongoMetadata)
        {
            if (bsonValue == null)
                return null;

            object propertyValue = null;
            bool convertValue;

            if (bsonValue.GetType() == typeof(BsonDocument))
            {
                var bsonDocument = bsonValue.AsBsonDocument;
                if (IsCsharpNullDocument(bsonDocument))
                {
                    convertValue = false;
                }
                else
                {
                    propertyValue = CreateDSPResource(bsonDocument, mongoMetadata, propertyName,
                        MongoMetadata.GetQualifiedTypePrefix(resourceType.Name));
                    convertValue = true;
                }
            }
            else if (bsonValue.GetType() == typeof(BsonArray))
            {
                var bsonArray = bsonValue.AsBsonArray;
                if (bsonArray != null && bsonArray.Count > 0)
                    propertyValue = ConvertBsonArray(bsonArray, resourceType, propertyName, mongoMetadata);
                convertValue = false;
            }
            else if (bsonValue.GetType() == typeof(BsonNull) && resourceProperty.Kind == ResourcePropertyKind.Collection)
            {
                propertyValue = ConvertBsonArray(new BsonArray(0), resourceType, propertyName, mongoMetadata);
                convertValue = false;
            }
            else
            {
                propertyValue = ConvertRawValue(bsonValue);
                convertValue = true;
            }

            if (propertyValue != null && convertValue)
            {
                var propertyType = resourceProperty.ResourceType.InstanceType;
                Type underlyingNonNullableType = Nullable.GetUnderlyingType(resourceProperty.ResourceType.InstanceType);
                if (underlyingNonNullableType != null)
                {
                    propertyType = underlyingNonNullableType;
                }
                propertyValue = Convert.ChangeType(propertyValue, propertyType);
            }

            return propertyValue;
        }
開發者ID:object,項目名稱:MongOData,代碼行數:53,代碼來源:MongoDSPConverter.cs

示例3: ResolveProviderType

 private static Type ResolveProviderType(BsonValue elementValue, bool isKey)
 {
     if (elementValue.GetType() == typeof(BsonArray) || elementValue.GetType() == typeof(BsonDocument))
     {
         return elementValue.GetType();
     }
     else if (BsonTypeMapper.MapToDotNetValue(elementValue) != null)
     {
         return GetRawValueType(elementValue, isKey);
     }
     else
     {
         return null;
     }
 }
開發者ID:victorantos,項目名稱:MongOData,代碼行數:15,代碼來源:MongoMetadata.cs

示例4: ResolveProviderType

 private static Type ResolveProviderType(BsonValue elementValue)
 {
     if (elementValue.GetType() == typeof(BsonArray) || elementValue.GetType() == typeof(BsonDocument))
     {
         return elementValue.GetType();
     }
     else if (elementValue.RawValue != null)
     {
         switch (elementValue.BsonType)
         {
             case BsonType.DateTime:
                 return typeof(DateTime);
             default:
                 return elementValue.RawValue.GetType();
         }
     }
     return null;
 }
開發者ID:scbond,項目名稱:MongOData,代碼行數:18,代碼來源:MongoMetadata.cs


注:本文中的BsonValue.GetType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。