首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#根据配置文件动态执行函数的有关问题

2012-03-05 
C#根据配置文件动态执行函数的问题在一个类里有很多方法(函数),主程序执行时会根据配置文件的内容执行其中

C#根据配置文件动态执行函数的问题
在一个类里有很多方法(函数),主程序执行时会根据配置文件的内容执行其中的
某一个函数,需要时会修改配置文件让程序调用其他函数,主程序不用修改或编译。
该如何实现?
C#2005   +   Win2003
配置文件:
<?xml   version= "1.0 "   standalone= "yes "?>
<DocumentElement>
    <MethodrInfo>
        <MethodName> Post2013 </MethodName>     //该行可以经常修改
    </MethodrInfo>
</DocumentElement>

[解决办法]
请使用反射
[解决办法]
--xml
<?xml version= "1.0 " encoding= "utf-8 " ?>
<configuration>
<appSettings>
<add key= "mp3 " value= "Wayfarer.MediaLibrary.MP3MediaFactory "/>
<add key= "wav " value= "Wayfarer.MediaLibrary.WavMediaFactory "/>
<add key= "rm " value= "Wayfarer.MediaLibrary.RMMediaFactory "/>
<add key= "mpeg " value= "Wayfarer.MediaLibrary.MpegMediaFactory "/>
</appSettings>
</configuration>

--code

string mediaTypeKey = cbbMediaType.SelectedItem.ToString().ToLower();--类型


string mediaTypeValue = ConfigurationSettings.AppSettings[mediaTypeKey].ToString();
IMediaFactory iFactory = (IMediaFactory)Activator.CreateInstance( "Wayfarer.MediaLibrary ",mediaTypeValue).Unwrap();

IMedia iMedia = iFactory.CreateMedia();
iMedia.Play();
[解决办法]
在config中的AppConfig中定义,然后程序中读取出来,在
if(。。){
}
else if(..)
{
}
...
else
{
}
[解决办法]
楼上两位正解!
只要在源代码中加入判断条件,根据从配置文件中读入的数据来决定具体执行哪个函数即可。
[解决办法]
反射更灵活一些

热点排行