簡體   English   中英

如何將參數限制為內置類型

[英]How to constrain parameter to Built-In Types

請參見此文章的代碼示例: 如何使用Nhibernate(和Fluent NHibernate)映射Type。

您將如何約束參數Type類型 (請參見上面鏈接示例中的構造函數)? 如果類型不屬於此列表,我想拋出一個異常: 內置類型表(C#參考)

這應該工作。

switch (Type.GetTypeCode(type))
{
    case TypeCode.Boolean:
    case TypeCode.Byte:
    case TypeCode.Char:
    case TypeCode.DBNull:
    case TypeCode.DateTime:
    case TypeCode.Decimal:
    case TypeCode.Double:
    case TypeCode.Empty:
    case TypeCode.Int16:
    case TypeCode.Int32:
    case TypeCode.Int64:
    case TypeCode.SByte:
    case TypeCode.Single:
    case TypeCode.String:
    case TypeCode.UInt16:
    case TypeCode.UInt32:
    case TypeCode.UInt64:
        break;
    default:
        if (type.GetType() != typeof(object))
        {
            throw new ArgumentException("invalid type.", "type");
        }
        break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM