私は最初に .Net で演算子のオーバーロードに遭遇しました。ずっと前に C++ で使用していましたが、それは "+" のような演算子のオーバーロードのようなものでした。
私は構造体を持っていますAccessToken
:
[StructLayout(LayoutKind.Sequential)]
public struct AccessToken : IConvertible
{
private string _value;
public AccessToken(string encodedAccessToken)
{
this._value = encodedAccessToken;
}
public static implicit operator AccessToken(string encodedAccessToken)
{
return new AccessToken(encodedAccessToken);
}
}
私は最初のメソッドがコンストラクタであることを理解しましたが、正確に2番目のメソッドがやっているのか疑問に思っていましたか? 間違いなく、ある種の演算子のオーバーロードです。http://msdn.microsoft.com/en-us/library/s53ehcz3(v=vs.71).aspxを読みましたが、正確なアイデアを得ることができませんでした。