私はWindowsアプリケーションを作っています。別のメソッドの `パラメータとしてvarを渡すには?
最初に私はvarを宣言し、別のクラスメソッドを含んでいます。
var ExtList = ExtTarget.GetExtTargets();
とGetExtTargetsは()次に、この
public static List<ExtTarget> GetExtTargets()
{
var dt = SqlHelper.ExecuteDataTable(QueryHelper.ConnectionString,
@"
SELECT [seq],[SourceKind],[ExtKind],[DBKind],[ConnectionString]
,[FilePath],[TableName],[FileKind],[RowSplitter],[ColumnSplitter]
,[Title],[GroupName],[SyncOrder],[RepeatKind],[RepeatMonth]
,[RepeatDay],[RepeatHour],[RepeatMin],[RepeatWeek],[RepeatWeekNum]
,[LastSyncExecDate]
FROM [ExtTarget]
order by GroupName,SyncOrder");
return dt.Rows.Cast<DataRow>().Select<DataRow, ExtTarget>(a => ExtTarget.RowToModel(a)).ToList();
}
のようなものです、私はforeachのためにそれを使用して、私は別のメソッドのパラメータに内線を渡したいです。
コードは次のとおりです。
public void ProcessExtSync(object obj)
{
while (IsProcessGoing)
{
Thread.Sleep(ThreadDelay);
if (!IsProcessGoing) return;
var ExtList = ExtTarget.GetExtTargets();
foreach (var Ext in ExtList) // I want to use this Ext as parameter
{
while (IsSourceSyncGoing)
{
Thread.Sleep(ThreadDelay);
}
IsExtSyncGoing = true;
bool ExtSyncForceToRun = ConfigSettingHelper.Instance.IsServiceConfig(Words.ExtSyncForceToRun);
bool ExtSyncForceToRunOnlyError = ConfigSettingHelper.Instance.IsServiceConfig(Words.ExtSyncForceToRunOnlyError);
bool ExtSyncNeedToRun = ConfigSettingHelper.Instance.GetNextExecutingTime(Ext) < DateTime.Now;
if (ExtSyncForceToRun || ExtSyncNeedToRun)
{
//I want to pass Ext as parameter to this method
ServiceProcess.Instance.SyncExt();
if (ExtSyncForceToRun)
{
ConfigSettingHelper.Instance.SetServiceConfig(Words.ExtSyncForceToRun, false);
}
if (ExtSyncForceToRunOnlyError)
{
ConfigSettingHelper.Instance.SetServiceConfig(Words.ExtSyncForceToRunOnlyError, false);
}
}
if (!IsProcessGoing) return;
}
IsExtSyncGoing = false;
}
}
このコードはどのように変更できますか?私を助けてください。
だけでパスを
あなたが呼び出しているメソッドは、これと同様の署名を(それは任意の型を返すかもしれないが)持っている必要がありますそれ。他のどのような変数でもあります。私は問題が何であるか理解していない。エラーが発生していますか? – dman2306
「ProcessExtSync」の引数を定義したのと同じです。メソッドに引数を渡す方法がわからない場合は、まずチュートリアルを実行するか、C#のブックを最初に取得する必要があります。 – Rob
@ Rufusの答えに加えて、あなたが 'GetExtTargets()'がどんな型を返すのかを読者に伝えていないので、 'var'を使わないと言うでしょう。明らかな場合は、 'var'を使うことができます。 'var op =" ryden "'です。 – niksofteng