最後にJavaに触れてから少し錆びているので、私はReflectionで作業していません。タイマーを使用するWindowsサービスを作成しました。一部のクラスでは、オブジェクト名を動的(SQLテーブルから取得)にする必要があります。オブジェクトの作成範囲はwhileループ内にあり、各オブジェクトのプロパティを保存する必要があります。c#.NETの動的オブジェクト名
編集:私は、後に、各オブジェクトのプロパティを取得できるように辞書を使用して終了
。
private void GetActiveScans()
{
string sql = "SELECT * FROM scans WHERE enabled = 1";
SqlConnection sqlconn = new SqlConnection(connectionString);
sqlconn.Open();
SqlCommand cmd = new SqlCommand(sql, sqlconn);
SqlDataReader drActiveScans = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Dictionary<int, WindowsServiceAudit> WSA = new Dictionary<int, WindowsServiceAudit>();
while (drActiveScans.Read())
{
string tmpscantype = drActiveScans["scantype"].ToString();
switch (tmpscantype)
{
case "services":
int scanid = Convert.ToInt32(drActiveScans["scanid"]);
string scanname = drActiveScans["scanname"].ToString();
int serverclass = Convert.ToInt32(drActiveScans["serverclass"]);
int interval = Convert.ToInt32(drActiveScans["interval"]);
WindowsServiceAudit x = new WindowsServiceAudit(scanid, scanname, serverclass, interval);
WSA.Add(scanid, x);
break;
}
}
}
これは私がこれまで見てきた最もクレイジーな質問です! – zvolkov