연산자 오버로드를 사용하여 할당 동작을 에뮬레이션 할 수 있습니다. 이 방법으로 대상 클래스는 파트의 크기를 정의하므로 각 클래스는 입력이 어떻게 나타나는지 알아야합니다. 그것은 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);
[...]
감사합니다. 이 코드는 내가 필요한 것입니다. – Nap