사용자 정의 제네릭 구조체의 변환 연산자를 재정 의하여 이벤트를 수동으로 호출하지 않고도 '속성과 유사한'동작을 에뮬레이트 할 수 있습니다. 다음은 내 솔루션입니다 : 내가 변환 오류를 방지하기 위해 일반적인 매개 변수를 사용하여 구조체를 선언
public struct column<TType>
{
private TType _value;
private column(TType value) : this()
{
_value = value;
}
private void Set(TType value)
{
// Implement your custom set-behavior...
}
private TType Get()
{
// Implement your custom get-behavior...
return _value;
}
public override string ToString()
{
return _value.ToString();
}
public static implicit operator column<TType>(TType p)
{
column<TType> column = new column<TType>(p);
column.Set(p);
return column;
}
public static implicit operator TType(column<TType> p)
{
return p.Get();
}
}
. 당신은 이것을 다음과 같이 사용할 수 있습니다 :
public class Test
{
public column<int> kKey;
public column<float> dMoney;
public column<string> cValue;
public Test()
{
kKey = 42;
dMoney = 3.1415926f;
cValue = "May the force be with you!";
}
}
... 나는 알고 있습니다. 질문은 오래되었지만 나중에 도움이 될 것입니다.
또 다른 흥미로운 접근법. 내 대답을보고 그 것이 실행 가능한지 볼 수 있니? 나는 당신의 평판이 당신 앞에 선 것처럼 당신의 의견을 소중히 생각합니다. 어쩌면 너무 무거워요? –