标题:新手c#修改APPSETTING的问题求教
只看楼主
glaciers45
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-2
结帖率:0
 问题点数:0 回复次数:4 
新手c#修改APPSETTING的问题求教
网上找到的一段代码,很多网站有,这里有三个参数,后面2个是key和 value,但是第一个是什么呢?调用的时候,第一个参数应该是输入什么的?
   ///<summary>

        ///更新在config文件中appSettings配置节增加一对键、值对。

        ///</summary>

        ///<param name="newKey"></param>

        ///<param name="newValue"></param>

        ///<param name="config"></param>

        public static void UpdateAppSettingsItemValue(this Configuration config, string newKey, string newValue)
        {

            UpdateAppSettingsItemNoSave(config, newKey, newValue);

            ////// Save the changes in App.config file.     

            config.Save(ConfigurationSaveMode.Modified);
搜索更多相关主题的帖子: public 
2012-11-28 16:57
mmxo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:189
专家分:1090
注 册:2012-11-7
得分:0 
这个是一个Configuration类的扩展方法,使用是只有两个参数的。
扩展以后是这样用的:

var config = new Configuration();
config.UpdateAppSettingsItemValue(strKey, strValue);

也就是说,原本Configuration类里面是没有UpdateAppSettingsItemValue这个方法的,现在我们人为的加进去了,这样每个Configuration类的实例就可以使用UpdateAppSettingsItemValue方法了,不知道这样说你明白了没有?

为提高中华编程水平而奋斗
2012-11-28 19:18
glaciers45
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-2
得分:0 
说实话,真的没太理解,因为是新手,刚学不久,还在学习中
我把您给我的2行代码拷贝过来也是提示错误的
您的意思就是按这2行代码来实现对AppSetting来进行修改吗?
2012-11-28 21:44
mmxo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:189
专家分:1090
注 册:2012-11-7
得分:0 
呵呵,我这两行只是说明意思的伪代码,你拷过去当然不能用,可能Configuration类你见的不多没法理解,那么我再用string来举例吧:
首先,你在string类里面是找不到名叫IsMyName的方法的吧,string的实例也是没有这个方法的,那么,现在我们想添加这么一个方法,以便直接在一个string的实例上调用这个方法来判断这个字符串是不是我的名字,那我就需要这样做:
程序代码:
public static class StringExtension
    {
        public static bool IsMyName(this string str)
        {
            return str == "mmxo";
        }
    }

我写了一个静态类叫StringExtension,里面定义了一个扩展方法IsMyName,参数定义中的this string指定我要扩展的是string类,那么str就代表string的实例了,
我这么定义好了以后,就可以在实例上面使用了,比如:
现在我们定义两个字符串:
var str0 = "0123456789";
var str1 = "mmxo";
现在你可以发现,我们输入str0.以后在vs的智能提示里面我们可以发现我刚才定义的扩展方法IsMyName了,现在我们来判断一下:
if (str0.IsMyName())
            { ... }
            else if (str1.IsMyName())
            { ... }
那么判断后运行的是else if (str1.IsMyName())后的那段代码,现在明白了吧,你问的那一段
public static void UpdateAppSettingsItemValue(this Configuration config, string newKey, string newValue)
其实是往Configuration类里面加了一个原本不存在的方法,就跟我往string类里加方法是一样的道理,这么做是为了包装某些功能,以后使用起来就比较方便且易于理解了。
呵呵,如果我这么说你还是理解不了的话,那么说明你连基础都没有,还需要时间去学基础的东西,不过总有一天你会明白的其实很简单……

[ 本帖最后由 mmxo 于 2012-11-28 22:48 编辑 ]

为提高中华编程水平而奋斗
2012-11-28 22:25
glaciers45
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-2
得分:0 
意思懂了,但是没有完全明白,还要研究一下,感谢您的答复
2012-11-28 22:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-388860-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.101578 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved