使用 C# 嵌套类和辅助功能
本文关键字:功能 嵌套 使用 | 更新日期: 2023-09-27 18:32:49
我知道嵌套类。 我如何以这样的方式设计我的嵌套类,即嵌套类的父类的
一侧没有人能够访问嵌套类,如实例创建等,因为我希望子类是私有的。 我想公开我的子类属性,通过父类属性或方法方法处理所有内容。 请指导我为这种嵌套编写代码上课。谢谢
public class Person
{
private string _firstName;
private string _lastName;
private DateTime _birthday;
//...
public class FirstNameComparer : IComparer<Person>
{
public int Compare(Person x, Person y)
{
return x._firstName.CompareTo(y._lastName);
}
}
}
将
内部类标记为private
而不是public
。
public class Person
{
private string _firstName;
private string _lastName;
private DateTime _birthday;
private FirstNameComparer firstNameComparer = new FirstNameComparer();
public int CompareFirstNames(Person x, Person y)
{
return firstNameComparer.Compare(x, y);
}
//...
private class FirstNameComparer : IComparer<Person>
{
public int Compare(Person x, Person y)
{
return x._firstName.CompareTo(y._lastName);
}
}
}
你可以把嵌套的类private
。主类将负责创建嵌套类实例。
你可以对嵌套类使用私有访问器。如果你想公开它的一些属性,你可以为主类创建新属性,如下所示:
private FirstNameComparer _FirstNameComparer = new FirstNameComparer();
public int Compare(Person x, Person y)
{
return _FirstNameComparer.Compare(Person x, Person y);
}