访问方法是类

时间:2015-01-15 01:08:46

标签: c# c#-4.0

这是一个非常愚蠢的问题,但我如何从其他类访问方法。我发现由于静态引用问题,我无法在java之类的类之间传递对象。在我的研究中,我找到了代表们,我认为这些方法在Objective C中可能有所帮助,但我要么不理解它们是如何工作的,要么它们与我的问题无关。我也看过ref,但这似乎并没有帮助,但我对此的理解是有限的。这就是我想要做的事情。

class foo
{
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false); 
        Application.Run(new frmMainWindow());
    }

     public void callSomeMethod(Para)
     {
         //call someMethod from foo class - this step is my problem
     }
}

class bar
{
    public static bar()
    {
        //init
    }

    public void someMethod(para1, para2)
    {
        // bar.someMethod calls foo.CallSomeMethod
        callSomeMethod(Para);
    }
}

我知道这是一个基本问题,但我很困惑。我花了几个小时摆弄网上搜索。我知道我错过了一些基本的东西......

由于

2 个答案:

答案 0 :(得分:0)

希望这段代码能够自我描述。这是一个简单的控制台应用程序,虽然没有解决您的确切问题,但您应该能够看到这些类如何一起交互,并且从这里开始,您希望能够为您解决问题。

public class Foo
{
    static void Main(string[] args)
    {
        //new instance of Bar
        var bar = new Bar();

        //call method defined on Bar
        bar.SomeMethod("Hey", "There");
    }

    public static void MethodFromFoo(string param1, string param2)
    {
        Console.WriteLine(param1 + ' ' + param2);
        Console.ReadLine();
    }
}

public class Bar
{
    public void SomeMethod(string param1, string param2)
    {
        // call method on Foo -- no need for new instance (static)
        Foo.MethodFromFoo(param1, param2);
    }
}

答案 1 :(得分:0)

它经常犯下一个简单的错误

namespace WindowsFormsApplication1
{
class foo
{

    static void Main(string[] args)  // Initial Solution
    {
           Application.EnableVisualStyles();
           " 
               "
    }

     public void callSomeMethod( r )
     {
          //call someMethod from foo class - this step is my problem
     }
}


class bar  
{

      public static bar()
      {
           //init
      }
       public void someMethod(r1 r2)
       {
           Console.WriteLine("r1: {0}",  r2.get());
           Console.ReadKey();   // Similar To Getch(); in C [ Hold The Answer ]
       }
}

让我知道这是否有效?