0
如何给类型通过分配来初始化,有的像以下的能力:通过赋值来初始化对象?
public struct WrappedByte
{
private byte m_value;
}
//Usage:
WrappedByte x = 0xFF;
如何给类型通过分配来初始化,有的像以下的能力:通过赋值来初始化对象?
public struct WrappedByte
{
private byte m_value;
}
//Usage:
WrappedByte x = 0xFF;
您需要使用自定义的隐含操作。请注意,这不仅适用于结构。
public struct WrappedByte
{
private byte m_value;
public static implicit operator WrappedByte(byte b)
{
return new WrappedByte() { m_value = b };
}
}
另外请注意,这不适只是初始化;这意味着您可以在任何需要WrappedByte
的地方提供byte
。它还包括初始化以外的任务,方法的参数等。
可能的重复:http://stackoverflow.com/questions/4537803/overloading-assignment-operator-in-c-sharp – ppetrov 2013-05-13 17:09:07