2016-04-25 99 views
-1

我有一个类和方法像下面如何从另一个继承的类在C#中调用一个方法

public class Wakeup : World 
{ 
    public void MethodA(string) 
     { 
      Log.writeline("Wakeup World"); 
     } 
} 

而下面一个是另一个类和方法,其中我想称之为“治法”

public class Hello : World 
{ 
    public void MethodB() 
     { 
      Wakeup p = new Wakeup; 
      p.MethodA(string); 
     } 
} 

这是行不通的。无法称之为“治法”,“方法b”

注意内:无论是归类会继承到一些所谓的“世界”等类

任何人都可以建议我怎么能做到这一点?

+0

您遇到的错误是什么? –

+0

InnerException: System.NullReferenceException:未将对象引用设置为对象的实例。 –

+0

您提供的示例并未反映您的实际问题(NullReferenceException)。它不会事件编译。 – CSharpie

回答

2

正确创建内部第二个第一类的实例,也通过一些string value代替string type在第二类方法调用

public class Wakeup : World 
    { 
     public void MethodA(string text) 
      { 
       Log.writeline(text); 
      } 
    } 
public class Hello : World 
    { 
     public void MethodB() 
      { 
       Wakeup p = new Wakeup(); 
       p.MethodA("Wakeup World"); 
      } 
    } 
+0

()已正确添加。还是一样的问题。正在下载异常InnerException: System.NullReferenceException:未将对象引用设置为对象的实例。 –

+0

看到我的更新,你必须在你的方法中传递一些文本,而不是只有字符串类型 – Mostafiz

0

public class World { } 

public class Wakeup : World 
{ 
    public void MethodA(string a) 
    { 
     Console.WriteLine("Wakeup World"); 
    } 
} 
public class Hello : World 
{ 
    public void MethodB() 
    { 
     Wakeup p = new Wakeup(); 
     p.MethodA("Dsa"); 
    } 
} 
1

你有一个错字的伟大工程,必须在实例化唤醒类后没有放置()。它应该是如下:

Wakeup p = new Wakeup(); 

另一件事,你不应该的类型本身传递给方法,换句话说,没有通过类型字string,而是一个字符串值。字符串值放在引号“”中,如下所示:“Hello,World”。

所以下面的代码对你来说Class Hello应该可以工作。请注意,我是如何实例化您的唤醒类的,并将值传递给了方法A.以下是完整的代码:

public class Wakeup : World 
{ 
    public void MethodA(string strValue) 
    { 
     Console.WriteLine(strValue); 
    } 
} 
public class Hello : World 
{ 
    public void MethodB() 
    { 
     Wakeup p = new Wakeup(); 
     p.MethodA("Hello, World"); 
    } 
} 
+0

()被正确添加。还是一样的问题。获取下方异常InnerException:System.NullReferenceException:未将对象引用设置为对象的实例。 –

+0

看看你的代码中的这一行,如果你已经阅读我的完整答案,你会注意到我提到了这个:p.MethodA(string);您不能将字符串传递给MethodA,您需要传递一个字符串值...另一件事,请看我如何声明您的MethodA。复制这段代码,看看它是否有效 –