C#错误 - 为非静态字段

时间:2018-03-05 21:32:08

标签: c# enums

我对c#很新,但我被卡住了。我在下面解释了我的情景。

现在我有一个这样的枚举列表,

public enum Colors
{
   Black,
   Blue,
   Red
}

我有2个带switch语句的类(我只显示了1个类,因为这两个类都相似)。现在我收到类似An object reference is requesred for the non-static field, method, or property 'RandomColor.GetColors'的错误。此外,我可以在我的所有使用此switch语句的类中使用答案版本但是因为我想要在一个文件中更改值,并且它为我改变了所有类中的值。

public class RandomColorService
{
   public readonly string _url;

   public RandomColorService()
   {
      switch (RandomColor.GetColors)
      {
        case Colors.Black:
            _url = "Use url for black color";
            break;
        case Colors.Blue:
            _url = "Use url for blue color";
            break;
        case Colors.Red:
            _url = "Use url for red color";
            break;
      }
   }
}

因此,为了实现这一点,我试图创建这个类但是现在如果我在下面的类中放置静态,一切都很完美,但我试图使它更具动态性,以便我可以更改GetColors的值不同的类到不同的颜色。这样它就可以在上面的类中使用适当的url。

public class RandomColor //put static here
{
   public Colors GetColors { get; set; } = Colors.Black; //put static here
}

你们可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

更改属性值的最直接方法是使用set语句:

var myTestDays = new TestDays();
myTestDays.DayTesting = Days.Sunday;