gpt4 book ai didi

c# - 有没有办法在类中将字段组划分为 "sub structures"

转载 作者:行者123 更新时间:2023-11-30 23:20:59 26 4
gpt4 key购买 nike

我正在向我的项目管理软件添加业务仪表板模块。
仪表板将很少被一小部分用户使用 - 因此我想避免使用静态/共享类或每次执行都会消耗硬件资源。

我的愿望是,所有仪表板颜色都将从 instance 类中的字段初始化:DashBoardGUI 将在 Disposed/中收集垃圾结束。

这样做的目的是让程序员能够轻松更改共享颜色,并让用户自定义首选颜色并将它们保存在数据库中。

类非常基础,没有构造函数,没有大型或资源密集型对象,只有类型为 Color 的字段。

问题是有很多字段(~35),所以我在开发 GUI 时很难识别所有字段。

我的意思是,如果我想从 DashBoardGUI 实例中调用一个字段它非常复杂,看起来像这样:

Public Class CreateGUI
Inherits System.Windows.Forms.Panel

Private ColorKit As New DashBoardGUI

Protected Overridable Sub Init()
RightFlowLayOutPannel.BackColor = ColorKit.someConfusingFieldName1
LeftFlowLayOutPannel.BackColor = ColorKit.someConfusingFieldName2
RightClockGraph.BackColor = ColorKit.someConfusingFieldName3
LeftGroupBox.ForeColor = ColorKit.someConfusingFieldName4
End Sub
End Class

我的愿望是获得像使用命名空间“.”一样的效果。签名将减少选项并引导我到请求的字段:

Public Class CreateGUI
Inherits System.Windows.Forms.Panel

Private ColorKit As New DashBoardGUI

Protected Overridable Sub Init()
RightFlowLayOutPannel.BackColor = ColorKit.FlPannels.FieldName
LeftFlowLayOutPannel.BackColor = ColorKit.FlPannels.FieldName
RightClockGraph.BackColor = ColorKit.Clocks.FieldName
LeftGroupBox.ForeColor = ColorKit.GroupBoxes.FieldName
End Sub
End Class

我已经尝试创建 nested Structuresnested Classes inside DashBoardGUI 类,但编译器不允许如果它们被声明为静态/共享,我会使用它们。如果我声明它们是共享的,那也是不可能的:

shared 在结构减速上无效(我明白为什么)。

所以我的问题是:我怎样才能获得类似于使用具有多个共享类的命名空间的效果 - 调用如下字段:xxx.yyy.myfield我什么时候使用实例类?
也许有人有完全不同的方法并且可以给我建议?
也许我节省资源的方法(在顶部解释)是错误的,我应该用静态/共享类创建命名空间?

谢谢。

最佳答案

我没有看问题,但可能是这样的:

Class A
Class B
Public myfield%
End Class
Public yyy As New B
End Class

示例使用:

Dim xxx As New A
xxx.yyy.myfield = 123

关于c# - 有没有办法在类中将字段组划分为 "sub structures",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com