通过赋值初始化对象?

问题描述 投票:0回答:1

如何赋予类型通过赋值进行初始化的能力,如下所示:

public struct WrappedByte
{
    private byte m_value;
}

//Usage:    
WrappedByte x = 0xFF;
c# initialization variable-assignment
1个回答
6
投票

您需要使用自定义隐式运算符。 请注意,这不仅仅适用于结构。

public struct WrappedByte
{
    private byte m_value;

    public static implicit operator WrappedByte(byte b)
    {
        return new WrappedByte() { m_value = b };
    }
}

另请注意,这不仅仅适用于初始化;这意味着您可以在任何需要

byte
的位置提供
WrappedByte
。 它还包括初始化以外的赋值、方法参数等。

© www.soinside.com 2019 - 2024. All rights reserved.