在C#中使用值类型作为引用类型的可能性

时间:2018-01-04 11:30:37

标签: c# oop

可能看起来很奇怪,但是在C#中使用值类型作为引用类型是不是可能?

我正在使用一个库,其中有一个方法需要传递消息类型。

问题在于它不接受值类型作为消息类型,并且我想要作为消息接收的所有内容都是Guid,现在如果我执行以下操作

public class GUID
    {
        public  Guid Guid { get; set; }
    }

并且通过GUID代替Guid,它正在运行。

这让我想到,是否有另一种方法来覆盖这个问题? 如果没有,为什么呢?当原始类型实际上是对象时,是不是有真实的例子呢?

1 个答案:

答案 0 :(得分:5)

假设object不起作用,您可以使用:

public sealed class Box<T> where T : struct
{
    public T Value {get;set;}
}

然后你至少不需要定义很多类型。显然你的指导是Box<Guid>