C#更改嵌套类的方法修饰符
Posted
技术标签:
【中文标题】C#更改嵌套类的方法修饰符【英文标题】:C# Change Method Modifier of nested Class 【发布时间】:2019-12-04 18:25:21 【问题描述】:我想知道这是否可能: 我有课
class Class
private Person person = new Person();
public void NamePerson()
person.Name = "Peter";
public Person CPerson
get
return person;
public class Person
public string Name set; get;
在Class
内部我想拥有person
对象的完全访问权限。
但是在Class
之外有Person
的写访问权限
Class a = new Class();
a.CPerson.Name = "Steve"; !!!!!
应该是无效的。我只想拥有读取权限。
string name = a.CPerson.Name;
有没有办法在 C# 中做到这一点??? 谢谢!
【问题讨论】:
你说得对,我也可以在Class之外定义类Person。 【参考方案1】:您可以为此使用接口:
public interface IPerson
string Name get;
public class Person : IPerson
public string Name get; set;
现在在类内部,您将对象引用为Person
,但只返回IPerson
的实例:
class Class
private Person person = new Person();
public void NamePerson()
person.Name = "Peter";
public IPerson CPerson
get
return person;
【讨论】:
以上是关于C#更改嵌套类的方法修饰符的主要内容,如果未能解决你的问题,请参考以下文章