2015-04-03 98 views
3

最近我见过的属性标记格式化成C#两种方式(甚至在微软的官方指南):C#属性格式约定

[foo] 
public class bar {...} 

[foo] public datatype bar; 

它有什么优势的地方标签被放置?标签是否应放置在某个位置,取决于它是否在类或数据类型上?

+0

对于c#编译器来说都是一样的。使用你认为更可读的。 – EZI 2015-04-03 22:47:20

+0

第一个是更容易阅读和看到属性更容易 – btevfik 2015-04-03 22:55:48

回答

3

这是个人喜好,它不会对编译器产生任何影响,选择一个并保持一致。

也就是说,我更喜欢两种情况下的第一种格式,因为它可能在类和数据类型上都有多个属性 - 而且我发现它更容易阅读。 如果你这样做了,它会很快变得混乱。

采取以下示例代码,例如一类:

[Author("P. Ackerman", version = 1.1)] 
[Author("R. Koch", version = 1.2)] 
class SampleClass 
{ 
    // P. Ackerman's code goes here... 
    // R. Koch's code goes here... 
} 

把它内联只是使它不可读。

+0

btw你喜欢堆叠属性标记(在你的例子中)而不是'[foo(),bar(),version = num]' – 2015-04-06 02:10:01

+1

是的,我这样做。 我个人发现,当它们在视觉上截然不同时,处理这样的事情更容易 - 我在寻找单独的属性,或者在考虑特定属性或类签名或数据类型时只需要较少的精神“噪音”。 然后,我经常会处理包含大量信息的多个属性。如果你的用例不同,在你知道最多只有几个短属性的情况下,如果你更喜欢纵向紧凑性,那么把它们放在一起可能是有意义的。 – bkr 2015-04-06 16:33:45