总的来说,我对编码仍然很陌生,虽然这个简单的程序只是为了测试构造函数的工作原理,但我仍然想知道为什么我会收到这个错误。
using System;
public class methodTest
{
int a;
int b;
int c;
public methodTest(int i, int j, int k)
{
a = i;
b = j;
c = k;
}
}
public class methodObj
{
static void Main()
{
methodTest obj = new methodTest(10, 20, 30);
Console.WriteLine("obj = " + obj.b);
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
我不完全确定为什么我会收到错误。问题出在 Console.WriteLine 上,它声明它无法访问 obj.b。变量似乎是在公共类中声明的,为什么不能访问它们?我尝试寻找解决方案,但我发现的所有问题都太复杂了,我无法得到可以转化为我自己理解的答案。所有帮助表示赞赏!
即使变量在公共类中,它们也必须声明为公共类,因为默认情况下它们是私有的。
请参阅:访问修饰符
类成员,包括嵌套类和结构,可以是 public、protected internal、protected、internal 或 private。类成员和结构成员(包括嵌套类和结构)的访问级别默认为私有。
最佳做法是对公共变量使用大写的名称和属性。
public A { get; set; }
Run Code Online (Sandbox Code Playgroud)
属性允许您控制成员的读/写访问,以及在读取或设置它们时添加逻辑。
访问修饰符是用于指定成员或类型声明的可访问性的关键字。本节介绍四种访问修饰符:
可以使用访问修饰符指定以下五个可访问性级别:
中的每个成员C#都是隐式私有的,因此在您的问题中a,b和c被定义为private,因此您无法从 外部访问它们methodTest。有关更多信息,您可能需要查看此页面:
访问修饰符(C# 编程指南)
祝你好运!:)
| 归档时间: |
|
| 查看次数: |
30007 次 |
| 最近记录: |