【发布时间】:2021-09-13 09:11:27
【问题描述】:
假设我在一个类中创建了一个 Winforms UI 类实例, 现在我想访问那个 UI 类的实例,以对另一个类的方法隐藏它。
我目前正在创建 UI 类的静态属性,并将实例存储在第一个类的该属性中,并从另一个类访问该静态属性以获取相同的实例。但这似乎非常无效,因为对于我需要创建不同属性的每个数据传递。
还有其他更好的方法可以将在一个类中创建的类的实例直接传递给 C# 中的另一个类吗?
【问题讨论】:
-
一般来说,您可能希望避免这种情况。但是如果没有更多细节就很难说。您可能想要扭转流程(“告诉,不要问”):如果您需要在该 UI 上显示某些内容,您应该传递数据,而不是 UI 组件。
-
@Fildor 我需要该对象的实例来询问“ UI_instance.Hide( ); ”您如何建议我从其他类..执行时间中分辨出来?
-
在这种情况下,我会说这实际上是父母的担忧。所以,你会为父级做/拥有类似 ViewModel 的东西,在其中设置一个开关 或 有一个方法
HideXY()或类似的东西。也许它可以由回调或事件触发......确实有很多可能性,但是将组件暴露在“外部”有一些味道。