2016-08-24 70 views
3

我有兩個例子如何在我的代碼的這部分中放置一個變量?

Primary.Teal800, Primary.Teal900, Primary.Teal500, Accent.LightGreen400, TextShade.WHITE 

Convert.ToInt32(textBox.Text) 

.後,我想要一個變量的一部分。例如,對於這個僞代碼將是

var color = "Teal"; 
Primary.color + 800, Primary.color + 900, Primary.color + 500, Accent.LightGreen400, TextShade.WHITE 

var toWhich = "ToInt32"; 
Convert.toWhich(textBox.Text) 

會不會有什麼方法可以做到這一點?

我訪問一個枚舉

+3

什麼是第一個例子嗎?陣列?枚舉? – Sinatr

+0

@Sinatr我使用這個代碼https://github.com/IgnaceMaes/MaterialSkin – Dgameman1

+0

這個問題並不清楚。你是否說你想用上面的組合創建一個新的顏色變量? –

回答

4

由於Primaryenum,您可以使用Enum.Parse。爲此做出一個輔助方法:

static Primary GetPrimaryColor(string name, int number) { 
    return (Primary)Enum.Parse(typeof(Primary), name+number); 
} 

調用助手可以讓你做到這一點:

var color = "Teal"; 
GetPrimaryColor(color, 800), GetPrimaryColor(color, 900), ... 
+2

@Sayse我在OP的評論中關注了github的鏈接,並找到[此文件](https://github.com/IgnaceMaes/MaterialSkin/blob/b130c6e8ba38143d8e5c890cf86dc83252959bb4/MaterialSkin/ColorScheme.cs)。 – dasblinkenlight

+0

聖。你真棒。 – Dgameman1

+1

@Sayse從元數據中看到[this](http://i.stack.imgur.com/jvl9a.png)。 –

相關問題