2
我已經創建了一個自定義類型來允許我驗證國家/地區代碼,但我在使用此類型作爲WebAPI調用的參數時遇到了問題。作爲參數傳遞的自定義類型
我的自定義類型驗證字符串,然後使用隱式運算符分配自己;
public class CountryCode
{
private readonly string _CountryCode;
private CountryCode(string countryCode)
{
_CountryCode = countryCode;
}
public static implicit operator CountryCode(string countryCode)
{
return (countryCode.Length == 3) ? new CountryCode(countryCode) : null;
}
public override string ToString()
{
return _CountryCode.ToString();
}
}
WebAPI調用;
[HttpGet]
public HttpResponseMessage Get(CountryCode countryCode)
{
// countryCode is null
}
可以解決這個問題;
[HttpGet]
public HttpResponseMessage Get(string countryCode)
{
CountryCode countrycode = countryCode;
return Get(countrycode);
}
private HttpResponseMessage Get(CountryCode countryCode)
{
// countryCode is valid
}
是否可以改變我的自定義類型,以便通過WebAPI參數調用實例化?
我會建議雖然因爲其他開發人員期望蒙上永遠不會返回null不使用隱式轉換 – LostInComputer