如何根据字符串的值设置实例的属性?

菲尔·瑞安(Phil Ryan)

抱歉,如果以前已经回答过,但是我一直在阅读和搜索,找不到答案。

假设我有一个数组,string[] myColors = {"red","white","blue"};并且选择了其中一种颜色,例如,通过访问数组的第n个成员:myColors[2]这将是字符串“ blue”。

另外,我有一个类box,其中我创建了一个实例myBox。该类具有类型为Color的属性boxColor。并且该Color类型的可能值包括Color.red = RGB(255,0,0),Color.white = RGB(255,255,255)和Color.blue = RGB(0,0,255)(尽管出于参数考虑) ,这些枚举值的实际值和类型无关紧要,它们可以等效为float或任何其他C#类型)。

我怎么会去的myBox.boxColor设置为,我从拿到myColors[2]

即像 myBox.boxColor = (Color) (value of the string myColors[2]);

在这种情况下,我实际上可以在屏幕上以该特定颜色绘制。

LVBen

您必须具有某种类型的映射。我在这里使用字典,但还有其他选择。Color根据您的问题使用了,但是您可以Color用您选择的任何其他类或结构替代

   public struct Color
   {
      int r, g, b;
      public Color(int r, int g, int b)
      {
         this.r = r;
         this.g = g;
         this.b = b;
      }
   }

   public static class BetterColors
   {
      static Dictionary<string, Color> colorDictionary = new Dictionary<string, Color>();

      static BetterColors()
      {
         colorDictionary.Add("Red", new Color(255, 2, 4));
         colorDictionary.Add("Blue", new Color(0, 3, 251));
         colorDictionary.Add("Green", new Color(0, 200, 0));
      }

      static public Color GetColor(string colorName)
      {
         return colorDictionary[colorName];
      }
   }

   class Box
   {
      public Color boxColor { get; set; }
   }

   class Program
   {
      static void Main()
      {
         string[] myColors = { "Red", "Green", "Blue" };

         Box myBox = new Box();
         myBox.boxColor = BetterColors.GetColor(myColors[1]);
      }
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据JSON属性名称替换字符串值

如何对实例字符串值求和

在 R 中,如何根据列值替换字符串的所有实例

如何从字符串设置值

如何从字符串设置JSpinner的值?

如何将Vue属性设置为字符串化元素属性的值?

在JAXB中,如何将节点值设置为字符串字段的属性值?

如何根据其他两列之间的字符串(错误)匹配设置列值?

尝试根据JSON字符串值动态设置图标

如何根据等于值的字符串属性的计数进行分组?

根据其父数组键名添加字符串属性值

如何检索Python类实例的属性的文档字符串?

如何在xml文件中将字符串设置为属性值?

字符串的长度超过在maxJsonLength属性上设置的值

通过反射使用字符串值设置属性

如何使AutoMapper根据MaxLength属性截断字符串?

根据字符设置字符串格式

如何基于字符串值实例化对象

如何根据字符串的值创建嵌套动态组件?

如何根据值来分隔字符串

如何根据内部值对 CSV 字符串进行排序?

如何根据通用类型返回字符串值

如何根据字符串值分配颜色

C#如何基于使用字符串保存的属性设置来设置组合框值

如何将字符串属性设置为QTreeWidgetItem?

如何从“字符串” + stringVariable设置标签的.Text属性

如何在属性中设置字符串的限制

如何根据字符串pandas dataframe列中的每个值附加特定的字符串?

如何根据字符串数组中的对应值返回字符串