C# 3.0 在C中调用部分方法#

C# 3.0 在C中调用部分方法#,c#-3.0,partial-classes,partial-methods,C# 3.0,Partial Classes,Partial Methods,我最近在c#3.0中挖掘新的分部方法,我了解分部类的用法,它可以分为多个文件,一个包含定义和其他声明,但我想知道,我创建了一个分部类,如下所示: in class1.cs partial class A { partial void Method(); } in class2.cs partial class A { partial void Method() { Console.WriteLine("Hello World"); } } now in class3.c

我最近在c#3.0中挖掘新的分部方法,我了解分部类的用法,它可以分为多个文件,一个包含定义和其他声明,但我想知道,我创建了一个分部类,如下所示:

in class1.cs
partial class A
{
   partial void Method();
}
in class2.cs
partial class A
{
  partial void Method()
  {
    Console.WriteLine("Hello World");
  }
}
now in class3.cs
class MainClass
{
  static void Main()
  {
    A obj = new A();
    obj.Method(); //Here i cannot call the "Method" method.
  }
}
那么创建分部方法有什么用,我在MSDN上读到,在运行时,编译器将类编译成一个,在这种情况下,编译器也应该得到“方法”方法的实现,那么为什么它不允许我在主方法中调用“方法”方法,如果我错了,有人能纠正我吗,告诉我为什么我不能在main中调用这个分部方法

来自

不允许使用访问修饰符或属性。部分方法是 秘密的


它是一个私有方法,因此您不能从main调用它。

是的,我们不能从
main()调用它。
。问题不是分部方法问题是类中没有说明符的方法是私有的,并且只能在类内部调用私有方法

尝试在分部类中创建新的公共方法:

partial class A
{
  partial void Method();
}

partial class A
{
  partial void Method()
  {
    Console.WriteLine("Hello World");
  }
  public void Study()
  {
    Console.WriteLine("I am studying");
    Method();
  }
}

class MainClass
{
  static void Main()
  {
    A obj = new A();
    obj.Study(); 
  }
}

您可以在定义方法的构造函数中调用分部方法

比如说

    public partial class classA
    {
      partial void mymethod();
    }
    public partial class classA
    {
      partial void mymethod()
      {
         Console.WriteLine("Invoking partial method");
      }
      public ClassA()
      {
        mymethod();
      }


    }
public class MainClass
{
   static void Main()
   {
      ClassA ca=new ClassA();
   }
}
就这样..现在执行代码并查看结果

  • 输出

调用分部方法

是否确定?我们无法从Main()调用它