在C#中,使用CreateInstance
方法創建對象時,可以通過配置文件(如app.config或web.config)來管理對象的創建參數。這通常涉及到使用ConfigurationManager
類讀取配置文件中的設置,并將這些設置傳遞給CreateInstance
方法。
以下是一個簡單的示例,說明如何使用配置文件中的設置來創建對象:
MySettings
的部分,其中包含要傳遞給CreateInstance
方法的參數:<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="mySettings" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
<mySettings>
<add key="param1" value="value1" />
<add key="param2" value="value2" />
</mySettings>
</configuration>
ConfigurationManager
類讀取配置文件中的設置,并將這些設置傳遞給CreateInstance
方法:using System;
using System.Configuration;
using System.Reflection;
class Program
{
static void Main()
{
// 讀取配置文件中的設置
string param1 = ConfigurationManager.AppSettings["param1"];
string param2 = ConfigurationManager.AppSettings["param2"];
// 創建一個參數數組
object[] parameters = new object[] { param1, param2 };
// 使用配置文件中的設置創建對象
Type type = Type.GetType("MyNamespace.MyClass");
object instance = Activator.CreateInstance(type, parameters);
// 使用創建的對象
MyClass myObject = (MyClass)instance;
myObject.DoSomething();
}
}
namespace MyNamespace
{
public class MyClass
{
public void DoSomething()
{
Console.WriteLine("Doing something with param1: " + param1 + " and param2: " + param2);
}
}
}
在這個示例中,我們首先從配置文件中讀取param1
和param2
的值,然后使用這些值創建一個參數數組。接下來,我們使用Type.GetType
方法獲取要創建的對象的類型,并使用Activator.CreateInstance
方法創建對象,將參數數組傳遞給它。最后,我們使用創建的對象調用DoSomething
方法。