bạn có thể mô phỏng hành vi 'giống thuộc tính' mà không cần gọi hướng dẫn sự kiện bằng cách ghi đè toán tử chuyển đổi của cấu trúc chung tùy chỉnh. Sau đây là giải pháp của tôi:
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();
}
}
Tôi tuyên bố cấu trúc với thông số chung để tránh lỗi chuyển đổi. Bạn có thể sử dụng nó như thế này:
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!";
}
}
... Tôi biết, câu hỏi đã lỗi thời nhưng có thể giúp ai đó trong tương lai.
Nguồn
2016-07-08 07:36:25
Một cách tiếp cận thú vị khác. Bạn có thể nhìn vào câu trả lời của tôi và xem nếu đó là khả thi quá? Tôi đánh giá cao ý kiến của bạn như danh tiếng của bạn trước bạn. Có lẽ nó quá nặng? –