2011-12-22 2 views
1

Comment puis-je obtenir StyleCop d'accepter quelque chose comme:StyleCop: Accolade intérieur support carré

string something = _someDict[new CompositeKey<EnumA, EnumB> { Item1 = EnumA.A, Item2 = EnumB.D }]; 

Est-ce une collision entre les SA1011 et SA1013?

Pour votre commodité copier-coller:

private Dictionary<CompositeKey<EnumA, EnumB>, string> _someDict = new Dictionary<CompositeKey<EnumA, EnumB>, string> 
{ 
    { new CompositeKey<EnumA, EnumB> { Item1 = EnumA.A, Item2 = EnumB.D }, "AD" }, 
    { new CompositeKey<EnumA, EnumB> { Item1 = EnumA.B, Item2 = EnumB.D }, "BD" }, 
    { new CompositeKey<EnumA, EnumB> { Item1 = EnumA.A, Item2 = EnumB.E }, "AE" }, 
    { new CompositeKey<EnumA, EnumB> { Item1 = EnumA.B, Item2 = EnumB.E }, "BE" }, 
}; 

private enum EnumA 
{ 
    A, B 
} 

private enum EnumB 
{ 
    D, E 
} 

private struct CompositeKey<T1, T2> 
{ 
    public T1 Item1; 
    public T2 Item2; 
} 

Répondre

3

Je ne pense pas qu'il soit possible.

Si vous vous souciez vraiment que beaucoup au sujet des règles, et de rendre votre code plus lisible, je propose:

var key = new CompositeKey<EnumA, EnumB> { Item1 = EnumA.A, Item2 = EnumB.D }; 
string something = _someDict[key];