好的,假设我有一个数据容器类
public class DataContainer {
public Person person;
}
我们已经创建了这个类的一个实例
DataContainer dataContainer = new DataContainer();
dataContainer.Person = new Person("Smith");
我们尝试将它传递给我们希望能够只读取容器而不被修改的方法
public void ExampleMethod(in DataContainer dataContainer){
dataConainer.Person.name = "blablabla" //we don't want to be able to do that
dataContainer = new DataContainer(); // this is not possible because of in keyword
}
我尝试了 in 关键字,但它对禁止更改容器没有任何影响......
PS:将容器转换为结构是没有解决方案的,因为它将变得不可变