OHA*_*OHA -1 .net c# access-modifiers
我尝试从另一个类调用一个方法.我添加了引用并找到了类.我可以调用这个类的一些方法但是我不能调用这个类中的所有方法.
主类是public partial class和我想要使用的方法的类private static class.我尝试调用的方法是public static.我可以调用的方法和我不能调用的方法没有区别.这是我不明白的问题.请有人解释一下吗?
namespace MyNamespace2
{
private static class MyClass
{
public static void MyMethod() { }
}
}
namespace MyNamespace1
{
class Program
{
static void Main(string[] args)
{
//can't call
MyClass.MyMethod();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试访问的类是私有的,那么它的方法是否公开并不重要,您无法访问该类本身.
以这种方式考虑它.如果你不被允许进入纽约,那么所有的房屋都是在城市内开放并不重要,因为你无法进入这座城市.
然而,要回到代码,有一种情况可以访问私有类:如果调用函数是包含私有类的类的一部分.
如果您可以自由地操作您尝试访问的类的代码,那么您应该尝试类似于此的内容:
class A {
private static class B {
public static void Foo() {}
}
public void Bar() {
B.Foo();
}
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,您可以B.Foo()从任何成员函数调用A,但不能从外部调用A.
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |