我在哪里把我的C#委托声明放在自己的文件中?

时间:2009-08-28 14:23:50

标签: c# delegates

出于习惯,我倾向于在未嵌套时将类/结构/枚举放在单独的文件中。

对于代表们来说,为一个班轮创建一个单独的文件似乎有点过分了:

public delegate string MyDelegateThatIsNotNestedInAnyClass ( string par );

我通常将它添加到最密切相关的类文件的底部。我只是想知道别人做了什么?

6 个答案:

答案 0 :(得分:5)

我倾向于将每种类型放在一个单独的代码文件中。这样做可以帮助您在解决方案资源管理器中导航,尽管ReSharper使用“Go To File

alt text
(来源:jetbrains.com

和“Go To Type”:

alt text
(来源:jetbrains.com

答案 1 :(得分:2)

我通常将它添加到实现委托函数的类的.cs文件中(在命名空间级别)。如果有其中的几个,我把它放在一个单独的文件中。

如果我确定只有一个类将实现委托函数,我将它嵌套在实现类中。

答案 2 :(得分:1)

通常,我只是使用:

Func<string, string>

这些天

答案 3 :(得分:1)

我个人在一个密切相关的类定义之前添加它。不过,我很好地利用了命名空间,所以我没有污染!

答案 4 :(得分:1)

如果它与该类属于同一个文件的密切相关,那么你可以证明将它嵌套在类中是合理的。然后,您可以毫不费力地记住它所在的类文件。

如果没有一个单独的类可以嵌入,那么创建单行文件可能是值得的,因为你永远不会浪费时间来记住你决定将它放入哪个类文件。

答案 5 :(得分:1)

我总是声明我自己的事件,即使我不需要它们,因为通用事件就足够了。这样做的原因是事件的类名为代码提供了更多的可读性,并且由于某种原因也很少需要进一步宣布声明的事件。 由于我有一个事件类,我总是将委托放在事件的类声明之上。它们是紧密耦合的,如果你需要听取事件,那么你需要事件和代表。我不知道这是否违反了任何类型的设计规则,但这对我来说很有效。