Ich suche einen Fehler Raise haben einen Build zu verhindern, wenn es doppelte Schlüssel in meinem statischen Wörterbuch.Compiler zu überprüfen, ob Schlüssel im Wörterbuch sind einzigartig
Mein aktueller Wörterbuch unter
public static readonly Dictionary<string, string> Fruits = new Dictionary<string, string>
{
{"Sobeys", "Apples"},
{"NoFrills", "Oranges"}
}
Aber sagen wir mal jemand versehentlich ändert Sobeys Nofrills zu sein, ich einen Compiler-Fehler möchte angehoben werden, damit nichts zu tun, bis dieser doppelten Schlüssel behoben ist. Darf ich fragen, ist das möglich? Wenn ja, wie würde ich das machen?
public static readonly Dictionary<string, string> Fruits = new Dictionary<string, string>
{
{"NoFrills", "Apples"},
{"NoFrills", "Oranges"}
}
Sie werden Ihren eigenen Compiler schreiben, wenn Sie es ein anderes Verhalten als die Regeln von C# haben wollen. – Servy
Verwenden Sie Visual Studio 2015 oder neuer? Wenn ja, ist es möglich mit einem benutzerdefinierten [Live-Code-Analysator] (https://msdn.microsoft.com/en-us/magazine/dn879356.aspx), aber es wird eine nicht dreifache Menge an Arbeit sein, um es zu machen robust. –
@Servy Da C# Open Source ist, sollte stattdessen ein Patch an die Community gesendet werden. https://github.com/dotnet/roslyn –