我有一个使用另一个类的类。为什么参数没有更新?
第一类有这样的方法:
public void myMethod()
{
//Parameters are an enumeration.
// Really is a exchange variable between this class
//and the other class.
Paramters myParameter = Parameters.Option1;
MyClass2 myOtherClass = new MyClass2(myParameter);
}
第二类:
public enum Parameters { Option1, Option2, Option3 }
MyClass2
{
Parameters _myParameters;
Public MyClass2(Parameters paramParameters)
{
_myParameters = paramParameters;
}
private void clickButton()
{
_myParameters = Parameters.Option2;
this.Dispose();
}
}
我它是什么创造一个对话和Parameters
是一个枚举是担任之间的交流主窗口和对话框来通知对话框中的选择。
但是,如果在clickButton
中更改_myParameters
的值,则在MyClass2
的构造函数中作为参数传递的对象中的值不会更改。
如果不是使用枚举作为交换变量,而是创建一个枚举类,那么我可以得到选择。交换类将是这样的:
class MyExchangeClass
{
Parameters myOption;
}
然后代码将是:
public void myMethod()
{
//Parameters are an enumeration.
// Really is a exchange variable between this class
//and the other class.
MyExchangeClass mySelection= new MyExchangeClass();
MyClass2 myOtherClass = new MyClass2(mySelection);
}
第二类:
public MyExchangeClass
{
Parameters enum MySelection { Option1, Option2, Option3 }
}
class MyClass2
{
MyExchangeClass _mySelection;
Public MyClass2(MyExchangeClassparamParameters)
{
_mySelection= paramParameters;
}
private void clickButton()
{
_mySelection.MySelection = Parameters.Option2;
this.Dispose();
}
}
这样的Class1
,在主窗口中,获取class MyExchangeClass
属性中的更新值。
我想知道为什么在第一个解决方案中枚举没有更新,因为如果可能的话,我想避免需要在一个类中包装枚举。
是您的clickButton连接到按钮?它似乎并不是 – Jonesopolis
以及点击按钮它是为了显示_MySelection被更新,这是一个Class2的类变量,但它似乎不是与构造函数的参数相同的变量,尽管已被赋值在构造函数上。 –