[英]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.