在C#中,公共嵌套类和私有嵌套类之间有什么区别?你什么时候用一节经文呢?C#中公共嵌套类和私有嵌套类之间的区别是什么
据我所知,他们具有相同的可访问性,从类的视图中嵌入以及从任何外部类。
void Main()
{
Item i = new Item();
i.DoSomething();
GizmoBuilder gb = new GizmoBuilder();//class not accessible
WidgetBuilder wb = new WidgetBuilder();//class not accessible
}
public class Item
{
public int Id { get; set; }
private string ItemName { get; set;}
public void DoSomething()
{
GizmoBuilder g = new GizmoBuilder();
g.BuildGizmo();
Console.WriteLine(g.BuildId);
Console.WriteLine(g.Name);//g.Name not accessible
WidgetBuilder w = new WidgetBuilder();
w.BuildWidget();
Console.WriteLine(w.BuildId);
Console.WriteLine(w.Name);//g.Name not accessible
}
public class GizmoBuilder
{
public int BuildId { get; set; }
private string Name { get; set;}
public void BuildGizmo()
{
Builder b = new Builder();
b.Build();
Console.WriteLine("Building Gizmo");
}
}
private class WidgetBuilder
{
public int BuildId { get; set; }
private string Name { get; set;}
public void BuildWidget()
{
Builder b = new Builder();
b.Build();
Console.WriteLine("Building Widget");
}
}
private class Builder
{
public void Build()
{
Console.WriteLine("Building");
}
}
}
如果你说的*正确*错误消息,这个问题会很明显。正如你声称的那样,错误并不是告诉你这个类型是不可访问的;它告诉你,类型*根本不存在*。如果问题只是它无法访问,它会*告诉你该类型不可访问*。 – Servy