私は次のコードを持っている:メソッドの実行中にメソッドを再利用するには?
CreateMultiLayerWakeupSteps()
{
var wakeupStep = new AutodetectWakeupStep
{
//Creating the object...
}
//Later in the process I have this operation:
wakeupStep.SuccessNextStep = UserInputs(wakeupStep);
}
メソッドの実装は次のようなものになりますUserInputs:私は再びCreateMultiLayerWakeupStepメソッドを呼び出すしたいと思いますUserInputs方法で
private static AutodetectCommandStep UserInputs(AutodetectWakeupStep wakeupStep)
{
AutodetectCommandStep autodetectCommandStep
{
//Creating the object...
}
//Some more operations autodetectCommandStep here...
return autodetectCommandStep;
}
を新しいステップを作成するために、次の例外がスローされます。StackOverflowException。
実行中にメソッドを再利用するソリューションはありますか?実装するのは難しいですか?私はスレッド非同期に精通していません。
よろしくお願いいたします。
再帰を学習する必要があります。この関数が実行されている間、関数をcalしようとしています。 – tym32167
何をしようとしているのかは無限ループに終わります。理論的に無限であるのはもちろん、それがメモリの壁に突き当たるからです。完全に期待される。だからあなたのロジック/デザインはどこかに欠陥があるはずです。 – Fildor
@ tym32167私が知っていることから、再帰はそれ自身を呼び出すメソッドであり、これは私の場合ではありません –