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部分如何实现。。谢谢
展开
 我来答
匿名用户
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);
追问
this.GetType().GetField(sName)  这句会在执行的时候报错。。。。监视里运行完这句之后返回值是null,随后SetValue的时候会报 “未将对象引用设置到对象的实例”
追答
那个字段你写错了吧

"sFileName",

把你的代码贴上来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iaskall
2012-08-28 · TA获得超过630个赞
知道小有建树答主
回答量:568
采纳率:83%
帮助的人:232万
展开全部
好复杂 ,定义一个结构体包含
stru xxx{
string sFileName;
string sFilePath;}
然后,声明一个结构体,将结构体作为类的一个属性来操作不是很方便吗?
而且你赋值的时候也会有提示,多方便。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handsomemank
2012-09-05 · TA获得超过130个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:181万
展开全部
这个需求一般的办法解决不了.
要用发射来解决.
代码如下:
typeof(this).GetProperty(sName).SetValue(this,sValue,null);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Chiid_
2012-09-05
知道答主
回答量:19
采纳率:0%
帮助的人:2.9万
展开全部
在类里面做循环判断,判断sName变量名和sVlalue是否相当如果等于就继续
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式