方法无法识别

时间:2016-01-06 14:29:15

标签: c# wpf

我正在处理的这段代码工作不正常。调用hello()时会显示此错误:

  

nameThisString"在当前上下文中不存在"

我有整体代码结构(为了达到目的,它已经大大简化了)。我的代码出了什么问题?

using System.Windows.Controls;

namespace Application3
{
    public partial class MainView : UserControl
    {
        public SecondClass secondClass;
        public MainView()
        {
            InitializeComponent();
            hello();    
        }

        private void hello()
        {
            secondClass.nameThisString("hello");
        }        
    }

    public class SecondClass
    {
        public void nameThisString(string what)
        {
            what = "me";
        }    
    }    
}

3 个答案:

答案 0 :(得分:4)

根据您发布的代码,只有一种方法可以解决上述错误;如果您调用了下面的方法,而不是secondClass.nameThisString("hello");

    private void hello()
    {
        nameThisString("hello");
    }  

根据您的评论,您将获得NullRef异常,因为您刚刚定义了变量但尚未为其创建实例。将您的代码更改为

    public SecondClass secondClass;
    public MainView()
    {
        InitializeComponent();
        secondClass = new SecondClass(); // create an instance
        hello();    
    }

答案 1 :(得分:3)

您必须首先在MainView类的构造函数中创建SecondClass的实例。

答案 2 :(得分:0)

你忘了实例化课程;像这样使用:

 public SecondClass secondClass;
 public MainView()
  {
    InitializeComponent();
    SecondClass = new SecondClass();
    hello();
  }

或者简单地说:

public SecondClass secondClass=new SecondClass();