我有一个 C# 类问题,希望得到一些帮助。我有一个名为 CountdownUserControl 的类。这个类中有许多函数。然后我有另一个类(class)叫 Min。在 CountdownUserControl 类中的这种形式中,我需要某些东西,因此我在 CountdownUserControl 中创建了它的一个实例:
public partial class CountdownUserControl : UserControl
{
//-----------------------------------------------
// Private data members
//-----------------------------------------------
private Min _Min = new Min();
但是在 Min 类中我也想使用一个包含在 CountdownUserControl 类中的函数 - 但是我不能在 Min 类中创建它的实例,例如
public partial class Min : Form
{
private CountdownUserControl CU = new CountdownUserControl();
这样我就可以在 Min 类中执行 CU.Method_I_want();
因为这会导致计算溢出。有谁知道解决方案吗?感谢您的宝贵时间。
最佳答案
类和方法
类不应该仅仅被视为方法的集合,当它们被new
创建(“实例化”)时,它们就变成了应该被这样对待的实际对象。
您需要重新考虑您的策略,而不是简单地引用 Min
或 CoundownUserControl
对象。每一个代表什么?您建议 UserControl
(Form
的一部分)需要为其创建自己的 Form
- 事实并非如此。 Form
是创建 UserControl
的对象。 UserControl
可以使用 ParentForm
属性访问 Form
。
StackOverflow
当您执行此操作时:new Min()
您正在创建一个新的 Min
对象。然后,在 Min
中,当您执行此操作时:new CountdownUserControl()
您正在创建一个新的 CoundownUserControl
对象。这又会创建一个新的 Min
对象,依此类推。
如何解决您的问题
简单地说,如果您确定用户控件位于类型为 Min
.
最后/另外,您不应该自己创建 CountdownUserControl
的实例,除非您要设置属性并将其添加到表单的 Controls
集合中你的代码。相反,构建您的项目,将 CountdownUserControl
拖放到您的表单上 - 将在您的 Min
类上自动创建一个用于访问该控件的属性,称为 countdownUserControl1
.
关于c# - 在彼此中实例化两个类中的每一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7010612/