c# – 在哪里和如何使用嵌套类?

前端之家收集整理的这篇文章主要介绍了c# – 在哪里和如何使用嵌套类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Why/when should you use nested classes in .net? Or shouldn’t you?12个
我想,如果一个类只能在另一个类中实例化,所以使用它嵌套在该类中是正确的.我认为这将有助于我们良好的设计.当我看着我的项目时,我几乎从来没有看到这样的嵌套结构.但是如果我尝试嵌套类,所以这个时候我的脑海里出现了另一个问题

我有Board类,移动类,例如ShortCastle,LongCastle,EnPassant,Promote和Pieces,如Pawn,Queen,Rook,Knight等.所以很明显,Board类将实例化Piece类,Piece类将实例化Move类.对于一个好的设计,Promote move class应该被嵌套在Pawn中,因为只有pawn才能促进自己.长城和长城应该被嵌套国王,因为只有王可以有这种类型的动作.

尝试将所有Piece课程放在Board课堂中看起来不错,因为8-9课程将在Board课堂内,真正令人讨厌的一个Board类文件将会变得太大,几乎不可读.我喜欢将每个课程类别保留在另一个课程中文件.好的,我们可以创建部分Board类,但仍然不是很烦人8-9 Partial Board类文件将持有每个类的类?最好不要让它们嵌套吗?与Pieces相同创建另一个部分Piece文件仅适用于另一个Move类型类?如果嵌套类只占用很小的空间,那么它不会有任何问题,但是如果需要很多方法呢?

解决方法

我认为你对于嵌套类来说太慷慨了.
看看 this嵌套类型的设计指南.

如果满足以下条件,请不要使用嵌套类型:

>类型必须被实例化
客户端代码.如果一个类型有一个public
构造函数,它可能不应该
嵌套背后的理由
指导是如果一个嵌套类型
可以实例化,它表示
该类型有一个地方
图书馆自己.你可以创建
它,使用它,并销毁它没有
使用外部类型.所以呢
不应该嵌套内部类型
不应在外面广泛使用
的外型没有
与外部类型的关系.
>通常引用类型
在客户端代码中声明.

这些作品可能属于一个董事会(Piece集合作为会员?),但可以并存,而无需.你可能会想重新使用没有片断的主题(主题等),还可以重新使用没有板的位置(位置等).

猜你在找的C#相关文章