演算子のオーバーロードを使用して、割り当ての動作をエミュレートできます。このように、ターゲット クラスはパーツのサイズも定義するため、各クラスは入力がどのように見えるかを知る必要があります。これは、VB の例よりも少し多くのコードです。
例 (構文が正しくない可能性があります。演算子のオーバーロードはほとんど使用しません):
class DataItem
{
public String Name {get;set;}
public String Address {get;set;}
public String Comment {get;set;}
public static implicit operator DataItem(string value)
{
DataItem item = new DataItem();
item.Name = string.Substring(0, 10).Trim();
item.Address = string.Substring(10, 25).Trim();
item.Comment = string.Substring(25, 45).Trim();
return item;
}
}
[...]
DataItem item = sampleString;
[...]
より読みやすい代替手段は、暗黙の作成者パターンです。
class DataItem
{
public String Name {get;set;}
public String Address {get;set;}
public String Comment {get;set;}
public static DataItem FromString(String string)
{
DataItem item = new DataItem();
item.Name = string.Substring(0, 10).Trim();
item.Address = string.Substring(10, 25).Trim();
item.Comment = string.Substring(25, 45).Trim();
return item;
}
}
[...]
DataItem item = DataItem.FromString(sampleString);
[...]