Я ищу, чтобы у вас возникли ошибки, чтобы предотвратить сборку, если в моем статическом словаре есть дубликаты ключей.Компилятор, чтобы проверить, являются ли ключи в словаре уникальными
Мой текущий словарь ниже
public static readonly Dictionary<string, string> Fruits = new Dictionary<string, string>
{
{"Sobeys", "Apples"},
{"NoFrills", "Oranges"}
}
Но позволяет сказать, что кто-то случайно изменяет Sobeys быть NoFrills, я хотел бы ошибку компилятора быть поднят, чтобы предотвратить что-нибудь, чтобы быть сделано до тех пор, что ключ дубликатом не будет решена. Могу я спросить, возможно ли это? Если да, то как бы я мог это сделать?
public static readonly Dictionary<string, string> Fruits = new Dictionary<string, string>
{
{"NoFrills", "Apples"},
{"NoFrills", "Oranges"}
}
Вы должны написать свой собственный компилятор, если вы хотите иметь различное поведение, чем правила C#. – Servy
Вы используете Visual Studio 2015 или новее? Если это возможно, с помощью специального [анализатора кода в реальном времени] (https://msdn.microsoft.com/en-us/magazine/dn879356.aspx), но это будет непростое количество работы, чтобы сделать это надежный. –
@Servy Поскольку C# является открытым исходным кодом, возможно, вместо этого патч должен быть отправлен сообществу. https://github.com/dotnet/roslyn –