尝试分解文件以使代码更易于阅读;有什么捷径可以避免过度缩进吗?

发布于 2024-10-12 02:19:12 字数 714 浏览 12 评论 0原文

我正在开发一个项目,在该项目中,我们将一些复杂的类嵌套在其他类中,并且已经到了将这些类分解为单独的文件可以帮助我们在混乱中保持某种顺序的地步。

但是,对于单个嵌套类,即使文件不包含任何其他内容(没有其他类),我仍然必须在每行前面添加三级缩进,这使得达到水平可读性的限制太容易了,即使是简单的语句(尽管许多具有长函数/类/变量名称)。

该文件可能如下所示:

namespace Example.Namespace1
{
    public partial class ImportantClass
    {
        protected partial class Nested1
        {
            // I can finally start writing code here
            public int AddOffset(int offset)
            {
                // Code inside of a method
            }

            public string ID{ get; protected set; }
        }
    }
}

那么,我是否有任何声明 Nested1 的快捷方式可以节省一些水平空间(例如 protected 部分类 ImportClass.Nested1 不起作用,但类似的东西)?

I'm working on a project where we're nesting somewhat complex classes within other classes, and it has come to the point where breaking these up into separate files may help us maintain some sort of order over the mess.

But, with a single nested class, even if a file contains nothing else (no other classes), I'm still having to prefix each line with three levels of indentation, which makes hitting the limits of horizontal readability too easy, even with simple statements (albeit many with long function/class/variable names).

The file might look like this:

namespace Example.Namespace1
{
    public partial class ImportantClass
    {
        protected partial class Nested1
        {
            // I can finally start writing code here
            public int AddOffset(int offset)
            {
                // Code inside of a method
            }

            public string ID{ get; protected set; }
        }
    }
}

So, do I have any shortcuts to declaring Nested1 that can save me some horizontal space (e.g. protected partial class ImportantClass.Nested1 doesn't work, but something like that)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴随着你 2024-10-19 02:19:12

不要这样做。

仅对于简单的内部使用类,谨慎使用类嵌套。事实上,您试图将它们拆分成不同的文件,这一事实告诉您一些信息 - 即,您对嵌套类有点太过分了。

在代码之外公开使用它们是丑陋的。

如果您需要将事物保留在内部,请使用内部修饰符。命名空间和项目文件夹可以帮助您使一切井井有条。

Don't do it.

Use the class nesting sparingly just for simple internal use classes. The fact that you are trying to split them out into different files tells you something - ie that you have gone a bit overboard with the nested classes.

Using them publicly out side of your code is ugly ugly.

If you need to keep things internal use the internal modifier. Name spaces and project folders can help you keep everything organized.

伴我心暖 2024-10-19 02:19:12

听起来答案是

我们在这里有一些替代方法,但要回答这个问题:C# 有嵌套类的简写符号吗? 没有,它没有。

It sounds like the answer is No.

We have some alternate approaches here, but to the answer to the question: Does C# have any shorthand notation for nested classes? No, it doesn't.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文