C#变量赋值 10
classtpring{stringsFileName;stringsFilePath;voidSetValue(stringsName,stringsValue){//...
class tpring
{
string sFileName;
string sFilePath;
void SetValue(string sName, string sValue)
{
//ToDo 在这里根据sName给出的变量名赋值sValue
}
}
new TPrint().SetValue("sFileName","XXX.TXT");
我需要在类的一个方法里写出对该方法变量的赋值,请问ToDo部分如何实现。。谢谢 展开
{
string sFileName;
string sFilePath;
void SetValue(string sName, string sValue)
{
//ToDo 在这里根据sName给出的变量名赋值sValue
}
}
new TPrint().SetValue("sFileName","XXX.TXT");
我需要在类的一个方法里写出对该方法变量的赋值,请问ToDo部分如何实现。。谢谢 展开
4个回答
2012-08-28
展开全部
class tpring
{
public string sFileName;
public string sFilePath;
public void SetValue(string sName, string sValue)
{
this.GetType().GetField(sName).SetValue(this, sValue);
}
}
调用:
tpring t = new tpring();
t.SetValue("sFileName", "123");
Console.WriteLine(t.sFileName);
{
public string sFileName;
public string sFilePath;
public void SetValue(string sName, string sValue)
{
this.GetType().GetField(sName).SetValue(this, sValue);
}
}
调用:
tpring t = new tpring();
t.SetValue("sFileName", "123");
Console.WriteLine(t.sFileName);
追问
this.GetType().GetField(sName) 这句会在执行的时候报错。。。。监视里运行完这句之后返回值是null,随后SetValue的时候会报 “未将对象引用设置到对象的实例”
追答
那个字段你写错了吧
"sFileName",
把你的代码贴上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好复杂 ,定义一个结构体包含
stru xxx{
string sFileName;
string sFilePath;}
然后,声明一个结构体,将结构体作为类的一个属性来操作不是很方便吗?
而且你赋值的时候也会有提示,多方便。
stru xxx{
string sFileName;
string sFilePath;}
然后,声明一个结构体,将结构体作为类的一个属性来操作不是很方便吗?
而且你赋值的时候也会有提示,多方便。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个需求一般的办法解决不了.
要用发射来解决.
代码如下:
typeof(this).GetProperty(sName).SetValue(this,sValue,null);
要用发射来解决.
代码如下:
typeof(this).GetProperty(sName).SetValue(this,sValue,null);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在类里面做循环判断,判断sName变量名和sVlalue是否相当如果等于就继续
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询