Xst*_*ity 8 c# dynamic dllimport
我已经看到了一些可能对我有帮助的例子,但是我没有那么多时间来探索它们,因为我今天刚刚发现我的老板必须比计划提前一周演示这个,我想要添加此新功能.我会尽量保持这简短而甜蜜.
好吧,这就像我第10次尝试纠正这一点,希望它是明确的.这是一个应用程序.需要在DataGridView(已完成)中显示数据行.根据报告(完成),某些行的突出显示不同.大多数报告都有自己的SQL文件,并在运行时从INI文件(完成)实现.但是,有些报告需要调用函数.该应用程序正在使用SQLite数据库.我想拥有作为报告的DLL,所有格式相同,并且所有这些都返回ReportRecord列表.ReportRecord是在我的主应用程序中定义的类,但我也会在创建它们时在每个DLL中定义它.我想实例化DLL,调用它的"GetRecords"函数,并在我的主应用程序中使用它.这是一些伪代码.如果你们能告诉我是否可能,
伪码
foreach (string str in System.IO.Directory.GetFiles("C:\\ReportDlls", "*.dll"))
{
//Instantiate DLL e.g. newReport
//_lstReportRecords.AddRange(newReport.GetReportRecords());
}
Run Code Online (Sandbox Code Playgroud)
反正有没有这样做?
目前,我有以下补充,直到我发现:
private void RefreshReports(string strReportTitle)
{
_lstReportRecords = _lstReportRecords.Where(rr => rr.Description != strReportTitle).ToList<ReportRecord>();
string strColumn = iniFile.GetString(strReportTitle, "Column", "");
if (strColumn != null)
{
_lstReportRecords.AddRange(_dataController.BuildReportList(strColumn, strReportTitle, GetReportSQL(strReportTitle)));
}
else
{
switch (strReportTitle)
{
case "Improper Indenture":
_lstReportRecords.AddRange(_dataController.ImproperIndenture());
break;
case "Skipping Figure":
_lstReportRecords.AddRange(_dataController.SkippingFigure());
break;
default: break;
}
}
FormatCells();
}
Run Code Online (Sandbox Code Playgroud)
感谢大家.
编辑:对不起伙计们,看着那些东西老老实实让我感到愚蠢.就像,我的思绪一片空白,一切都无法集中精力.:)你们提供的可能是最好的方法,但是因为我必须在星期二之前准备好一个高质量的演示,并且在此之前不应该再添加任何需要功能的报告,我将保持开放.一旦我的老板出城去演示它,我就会努力实现它.但是现在,除非我看到一个非常非常(2岁)的例子,否则它将无法回答.