C#中,如果一个变量的值和这个变量类型都保存在字符串里,怎样才能根据类型和值得到这个变量?具体做法是
例如:stringstrValue="1";stringstrType="int";inti=0;怎样才能将strValue的值转化为strType中类型的值,然后保存到...
例如:
string strValue="1";
string strType="int";
int i=0;
怎样才能将strValue的值转化为strType中类型的值,然后保存到i中?(如果用反射,具体应如何编码)
另外的一种情况:
string strValue1="1";
string strType1="int";
string strValue2="true";
string strType2="bool";
怎样通过一个公用的函数将strValue1,strValue2的值分别转化为strType1,strType2中类型的值,或者如何用反射,具体应如何编码? 展开
string strValue="1";
string strType="int";
int i=0;
怎样才能将strValue的值转化为strType中类型的值,然后保存到i中?(如果用反射,具体应如何编码)
另外的一种情况:
string strValue1="1";
string strType1="int";
string strValue2="true";
string strType2="bool";
怎样通过一个公用的函数将strValue1,strValue2的值分别转化为strType1,strType2中类型的值,或者如何用反射,具体应如何编码? 展开
展开全部
局部变量是不能使用反射的。反射只能用于类中的属性、变量、字段和方法。你的程序可以直接这样处理就行了:
string strValue="1";
string strType="int";
int i=0;
i = Convert.ToInt32(strValue);
若非要使用反射可以这样:
class Program
{
static void Main(string[] args)
{
new tt();
}
}
class tt
{
public string strValue = "1";
public string strType = "int";
public int i = 0;
public tt()
{
Type type = this.GetType();
FieldInfo fi = type.GetField("strValue");
this.i = Convert.ToInt32(fi.GetValue(this));
Console.WriteLine("i的值{0}", i);
}
}
string strValue="1";
string strType="int";
int i=0;
i = Convert.ToInt32(strValue);
若非要使用反射可以这样:
class Program
{
static void Main(string[] args)
{
new tt();
}
}
class tt
{
public string strValue = "1";
public string strType = "int";
public int i = 0;
public tt()
{
Type type = this.GetType();
FieldInfo fi = type.GetField("strValue");
this.i = Convert.ToInt32(fi.GetValue(this));
Console.WriteLine("i的值{0}", i);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询