Is there a functional difference between the following syntax...
[Foo, Bar]
public class Baz {}
...and this syntax?
[Foo]
[
From a readability standpoint separate attributes are preferred.
Think about the case where you are passing some type of parameter
[Foo(typeof(int)), Bar(typeof(decimal), MessageTemplate="Bar")]
versus
[Foo(typeof(int))]
[Bar(typeof(decimal), MessageTemplate="Bar")]
I would also argue, if you could combine them into one, they should be one tag.