本文整理汇总了C#中IEdmModel.ResolveUIntTypeDefinition方法的典型用法代码示例。如果您正苦于以下问题:C# IEdmModel.ResolveUIntTypeDefinition方法的具体用法?C# IEdmModel.ResolveUIntTypeDefinition怎么用?C# IEdmModel.ResolveUIntTypeDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEdmModel
的用法示例。
在下文中一共展示了IEdmModel.ResolveUIntTypeDefinition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTypeNameForValue
/// <summary>
/// Gets the type name based on the given odata value.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="model">The model used to handle unsigned int conversions.</param>
/// <returns>The type name for the context URI.</returns>
private static string GetTypeNameForValue(ODataValue value, IEdmModel model)
{
if (value == null)
{
return null;
}
// special identifier for null values.
if (value.IsNullValue)
{
return ODataConstants.ContextUriFragmentNull;
}
var typeAnnotation = value.GetAnnotation<SerializationTypeNameAnnotation>();
if (typeAnnotation != null && !string.IsNullOrEmpty(typeAnnotation.TypeName))
{
return typeAnnotation.TypeName;
}
var complexValue = value as ODataComplexValue;
if (complexValue != null)
{
return complexValue.TypeName;
}
var collectionValue = value as ODataCollectionValue;
if (collectionValue != null)
{
return EdmLibraryExtensions.GetCollectionTypeFullName(collectionValue.TypeName);
}
var enumValue = value as ODataEnumValue;
if (enumValue != null)
{
return enumValue.TypeName;
}
var untypedValue = value as ODataUntypedValue;
if (untypedValue != null)
{
return ODataConstants.ContextUriFragmentUntyped;
}
ODataPrimitiveValue primitive = value as ODataPrimitiveValue;
if (primitive == null)
{
Debug.Assert(value is ODataStreamReferenceValue, "value is ODataStreamReferenceValue");
throw new ODataException(Strings.ODataContextUriBuilder_StreamValueMustBePropertiesOfODataEntry);
}
// Try convert to underlying type if the primitive value is unsigned int.
IEdmTypeDefinitionReference typeDefinitionReference = model.ResolveUIntTypeDefinition(primitive.Value);
if (typeDefinitionReference != null)
{
return typeDefinitionReference.FullName();
}
IEdmPrimitiveTypeReference primitiveValueTypeReference = EdmLibraryExtensions.GetPrimitiveTypeReference(primitive.Value.GetType());
return primitiveValueTypeReference == null ? null : primitiveValueTypeReference.FullName();
}