C#反射應(yīng)用實例
本文實例講述了C#反射應(yīng)用。分享給大家供大家參考。具體如下:
通過反射實現(xiàn)多系統(tǒng)數(shù)據(jù)庫的配置
通過定義接口,反射實例化配置的節(jié)點的值
配置App.config:
<configuration>
<appSettings>
<add key="DAL" value="FactoryInterface.Oracle"/>
</appSettings>
</configuration>
通過System.Configuration.ConfigurationManager.AppSettings讀取該key的value,使用Configuration需要將其dll添加到項目中
接口定義:
{
interface IDAL
{
void insert();
}
}
Program定義:
{
class Program
{
static void Main(string[] args)
{
string config = System.Configuration.ConfigurationManager.AppSettings["DAL"];
Console.WriteLine(config);
Type t = Type.GetType(config);
IDAL dal =(IDAL) System.Activator.CreateInstance(t);
dal.insert();
Console.ReadKey();
}
}
class MySql : IDAL {
public void insert() {
Console.WriteLine("this data insert by MySql");
}
}
class Oracle : IDAL
{
public void insert()
{
Console.WriteLine("this data insert by Oracle");
}
}
}
輸出效果如下圖所示:
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
WPF利用TabControl控件實現(xiàn)拖拽排序功能
在UI交互中,拖拽操作是一種非常簡單友好的交互,這篇文章主要為大家介紹了WPF如何利用TabControl控件實現(xiàn)拖拽排序功能,需要的小伙伴可以參考一下2023-10-10c# AES字節(jié)數(shù)組加密解密流程及代碼實現(xiàn)
這篇文章主要介紹了c# AES字節(jié)數(shù)組加密解密流程及代碼實現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-11-11C#使用Socket快速判斷數(shù)據(jù)庫連接是否正常的方法
這篇文章主要介紹了C#使用Socket快速判斷數(shù)據(jù)庫連接是否正常的方法,涉及C#中socket操作的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04