在我的ASP.NET SOAP Webservice中,我使用各种字符串数组(List)作为输入参数,例如....
List<string> CarrierCodes = new List<string>();
...但我觉得很烦人,我不能给这个对象一个可分辨的名字,比如......
List<CarrierCode> CarrierCodes = new List<CarrierCode>();
... CarrierCode对象只是一个简单的System.String
因为无法从System.String派生对象 - 是否有其他方法可以为这样的字符串对象实现“漂亮的类型标签”?
答案 0 :(得分:3)
你有两个选择。
保持原样。实际上,如果你有一个名为CarrierCodes
的变量,并且它是一个List<string>
,那就没有错。它本身应该充分描述。
自己上课。
public class CarrierCode
{
public string Code { get; set; }
//anything else in the future...
}
如果您想稍后添加其他内容,这很方便。
使用类型别名
using CarrierCode = System.String;
警告,这将在整个文件中有效。这是可能的,但在非常简单的类型上没有建议。将其保存为您不喜欢一遍又一遍打字的超复杂数据类型。
答案 1 :(得分:0)
如果你真的想要一种类型来说某些特定的东西,那就把它变成非通用的:
public class CarrierCodeCollection: Collection<String>
{
<constructor implementations here>
}
然后你会毫不怀疑你正在使用CarrierCodes的集合。这里的缺点是你必须为每个实体实现一个集合类,即使它们都可能只是普通的旧字符串。