2011-12-22 26 views
1

私のようなもの受け入れるようにstylecopになるだろうどのように:stylecop:角括弧内の中括弧

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

が、これはルールSA1011とSA1013の間の衝突ですか?あなたのコピー&ペーストの便宜のために

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; 
} 

答えて

3

私はそれが可能だとは思いません。

あなたが本当にルールについて多く、そしてあなたのコードを読みやすくするためには、私が提案することを気にしている場合:

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