我有一些類與以下模式:從裝配合格的名稱創建對象實例,並得到屬性值
namespace MyCompany.MyApplication.ReportingClasses
{
public class ReportingClassName
{
public string HTMLReportString {get; private set;}
ReportingClassName()
{
// Use linq to generate report;
// Populate gridview, pass object to function which returns HTMLString;
// set HTMLReportString property;
}
}
}
每個類都保存根據報告不同的LINQ查詢。我想從一個下拉框中的報表列表中動態加載這個類。我存儲AsseblyQualifiedName以及一個顯示名稱來填充DDL。我根據我所見過的帖子使用了反思,但我似乎無法表現出我想要的;
string myAssembly = "AssemblyName"; // This is static;
string myClass = "AssemblyQualifiedName"; // This value from DDL;
var myObject = Activator.CreateInstance(AssemblyName, AssemblyQualifiedName);
string propertyValue = myObject.HTMLReportString;
"UpdatePanelID".InnerHTML = propertyValue;
我試圖完成什麼?
前四行很簡單 - 將'var myObject'改爲'dynamic myObject',它應該沒問題。我不知道你想用最後一行做什麼,但... – 2014-11-04 16:05:19
通常會重複的http://stackoverflow.com/questions/10338018/how-to-get-a-property-value-使用反射,但現在使用'dynamic'是這種特殊情況的更好選擇。 – 2014-11-04 16:19:31