как в конструкторе switch сослаться на поле объекта

internal class Program
{

    static void Main(string[] args)
    {
        string a = "форма гранит";
        switch (a)
        {
            case LibraryOfPrice.FG.NameWork:
                Console.WriteLine("yes");
                break;
        }
    }
}
public class LibraryOfPrice
{
    public string NameWork;
    public string Unit;
    public int Price;
    public Double PriceDouble;
    public LibraryOfPrice(string nameWork, string unit, int price = 0, double priceDouble = 0)
    {
        NameWork = nameWork;
        Unit = unit;
        Price = price;
        PriceDouble = priceDouble;
    }
    public static LibraryOfPrice FG = new LibraryOfPrice("форма гранит", "шт", 3000);
}

в Switch нужно сослаться на поле объекта, но компилятор пишет, что константа должна быть string, хотя она таковой и является.


Ответы (1 шт):

Автор решения: Артур Июльский

Вы неправильно работаете с оператором switch. В скобках нужно указать переменную, а в case её возможные варианты, которые вы хотите обработать. А у вас наоборот - в скобках константа, а в case - переменная.

→ Ссылка