类成员声明中的标记'ref'无效

时间:2015-08-17 15:58:40

标签: c# class ref

我想将一个字节作为类成员引用,但它向我显示错误invalid token 'ref' in class member declaration任何解决方法?

class MCP
{
    public byte olRegister;
};

class IO
{ 
    byte --reference to olRegister--;
};

1 个答案:

答案 0 :(得分:0)

你不能在C#

中这样做

一种可能的解决方案是将您的字节包装在引用类型中,创建它的实例,然后将其注入MCPIO的实例。

public class Wrapped<T> where T: struct
{
    public Wrapped(T t)
    {
        Elem = t;
    }

    public T Elem { get; set;}
}

class MCP
{
    public Wrapped<byte> McpByte { get; set; }
};

class IO
{ 
    public Wrapped<byte> IoByte { get; set; }
};

var b = new Wrapped<byte>(someByte);

var mcp = new Mcp { McpByte = b };
var io = new Io { IoByte = b };


mcp.McpByte = someOtherByte;
Assert.Equal(someOtherByte, io.IoByte);

这可能不是最佳解决方案 - 但我们无法在不了解更多大局的情况下讲述。