gpt4 book ai didi

c# - 将方法参数设置为只读

转载 作者:行者123 更新时间:2023-11-30 13:19:08 30 4
gpt4 key购买 nike

我怎样才能创建一个方法来获取一个只读目的的对象

public class Person 
{
public string Name;
}

public void RunMe(Person p)
{
p.Name="XXXX";
}

var p =new Person();
p.Name="YYYY";

RunMe(p);
Console.WriteLine(p.Name);

我得到了 XXXX。但我希望 person 对象不会改变它的值。

最佳答案

您可以使用接口(interface)来限制访问。最好将接口(interface)而不是具体对象作为参数传递给方法。

public interface IReadablePerson
{
string Name { get; }
}

public interface IWritablePerson
{
string Name { set; }
}

public class Person : IReadablePerson, IWritablePerson
{
public string Name { get; set; }
}

然后有这样的方法

public void RunMe(IReadablePerson p)
{
p.Name = "XXXX"; //compile time error!!!
}

关于c# - 将方法参数设置为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719107/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com