使用c#嵌套类和accessiblity

Tho*_*mas 1 c# oop

我知道嵌套类.我怎样才能设计我的嵌套类,以便嵌套类的父类外面没有人能够像实例创建那样访问嵌套类,因为我希望子类是私有的.我希望通过父类属性或方法公开我的子类属性,方法.请指导我编写这种嵌套类的代码.谢谢

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);
    }
}

}
Run Code Online (Sandbox Code Playgroud)

Rob*_*ani 7

将内部类标记为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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)