是否可以在C#中创建一个不可复制的类型

Kni*_*chi 2 c# noncopyable

在C#中是否有可能创建一个无法复制的类,而只能通过引用传递?

C++中的等价物是删除复制构造函数和复制赋值运算符.

小智 6

这是默认行为.如果你有课:

class foo {
    public string bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在某处你这样做:

foo f1 = new foo();
foo f2 = f1;
Run Code Online (Sandbox Code Playgroud)

双方f1f2会参考同一个实例.例如,如果您设置f1.bar = "bar",则读取的值f2.bar将为"bar".