看起来它应该足够简单,但我很难将我的大脑缠绕在它周围。通常你会用几种方式声明一个对象
ClassName a;
a = new ClassName();
或
ClassName a = new ClassName();
等...
但是因为你在编译时明确地声明了这些,所以当我想在运行时将其编码时,我会感到困惑。我想要做的是在单击按钮时实例化一个新的Class实例。但是我在这里没有理解的是,如果按钮点击发生这种情况,对象名称将如何被命名?
答案 0 :(得分:5)
更糟糕的是,物体根本没有名字 你是naimg的变量是对象的引用。
重要的是你决定对象属于什么:
void ButtonClick_H1(...)
{
ClassName a; //local variable
a = new ClassName(); // object belongs to this method
}
private ClassName anObject; // class field
void ButtonClick_H2(...)
{
anObject = new ClassName(); // object belongs to 'this' Form
}
答案 1 :(得分:2)
public partial class Form1
{
Classname myClass;
public void Button1_Click(...)
{
myClass = new Classname();
}
}
答案 2 :(得分:1)
好吧,您使用上面显示的代码创建对象,这将是您的类的新实例。如果你在方法的范围内声明了它,它将在方法之后停止存在(除非有外部引用),但如果你在方法之外将它声明为类变量,它将保持到类被销毁为止。 / p>
答案 3 :(得分:1)
与您通常命名对象的方式完全相同。
您需要挂钩按钮的Click
事件:
this.Button.Click += new RoutedEventHandler(Button_Click);
然后使用类似
的内容private void Button_Click(object sender, RoutedEventArgs e)
{
ClassName a = new ClassName();
}