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;
}
How would I get stylecop to accept something like:
string something = _someDict[new CompositeKey<EnumA, EnumB> { Item1 = EnumA.A, Item2 = EnumB.D }];
Is this a collision between rules SA1011 and SA1013?
For your copy-and-paste convenience:
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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为这是不可能的。
如果您真的非常关心规则,并且为了使您的代码更具可读性,我建议:
I don't think it's possible.
If you really care that much about the rules, and to make your code more readable, I suggest: