可能看起来很奇怪,但是在C#中使用值类型作为引用类型是不是可能?
我正在使用一个库,其中有一个方法需要传递消息类型。
问题在于它不接受值类型作为消息类型,并且我想要作为消息接收的所有内容都是Guid,现在如果我执行以下操作
public class GUID
{
public Guid Guid { get; set; }
}
并且通过GUID代替Guid,它正在运行。
这让我想到,是否有另一种方法来覆盖这个问题? 如果没有,为什么呢?当原始类型实际上是对象时,是不是有真实的例子呢?
答案 0 :(得分:5)
假设object
不起作用,您可以使用:
public sealed class Box<T> where T : struct
{
public T Value {get;set;}
}
然后你至少不需要定义很多类型。显然你的指导是Box<Guid>
。