我是一名c#初学者,在Visual Studio-2010中使用Silver Light-5进行Web开发。我有运行我的代码的GUI,它有由xaml创建的GUI,按钮点击在c#中处理。
现在我必须实现的是:
我正在尝试创建一个GUI,其中我使用的组合框将包含这样的选项(请参阅此链接)http://prntscr.com/36l58s在此链接中,我选择5种给定数据类型中的一种数据类型(这是字节,为sbyte,short,int和长)。之后,我想将此数据类型分配给c#代码中的变量,如下所示:(假设我选择了“short”)。
然后我想将它分配给一个变量(假设这里是“varble”),就像这个short varble =1000;
怎么做?
我的xaml代码是:
和c#代码是(在构造函数内):
comboBox1.Items.Add("byte");
comboBox1.Items.Add("sbyte");
comboBox1.Items.Add("short");
comboBox1.Items.Add("int");
comboBox1.Items.Add("long");
和ComboBox的按钮点击事件是:
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
为什么我要这样做? :
实际上,我只是想创建一个GUI,我可以在给定的指定选项中选择运行时变量的数据类型,我猜使用组合框是最合适的。这个选择的dataType(例如前一个例子中的简称)选择了dataType,然后在我的代码中分配给c#中的变量。(实际上我正在读取二进制文件,我必须选择读取的字节存储在一个必须具有的变量中dataType的选项(如short,int,long)在16/32/64位整数中,应该由COMBO Box选择。你可以帮助我这样做吗?非常感谢(如果我的逻辑不起作用,你有其他选择那么请告诉我详细信息,因为我只是一个初学者)。再次感谢
答案 0 :(得分:1)
您可以从以下代码示例中获得建议:
var selectedDatatype = "String";
var valueToConvert = 1;
var convertedValue = Convert.ChangeType(valueToConvert, Type.GetType("System." + selectedDatatype));
注意:确保下拉列表中填充的项目属于 System
命名空间。所以,不要长时间使用Int64