私は次のようなものが欲しいです:
AStaticClass.MakeCall(commonCmds => commonCmds.MethodOfAParticularClass)
したがって、ラムダ式を引数として使用し、デリゲートに、ラムダ関数を使用してインテリセンスを介してアクセスできる特定のクラスの使用可能なメソッドのセットをリストさせたいと思います。次に、渡されたメソッドを呼び出します。
すなわちcommonCmds => commonCmds. {Lists all the methods of a particular class}
次に、その呼び出しを行うメソッドが必要です。
適切なメソッドシグネチャを理解できません。
これまでのところ、私はパブリックボイドを持っていますこれはMakeCall(Action cmd) {cmd.invoke;}
明らかに機能しません。func、Expressionを試しましたが、理解できません。
助けてくれてありがとう!
編集:
CmdsTwoおよびCmdsOneは静的にすることができます。ただし、この方法でクラスを増やしたいと思います。これにより、他の作業がはるかに簡単になります。
public void Main(string []args) {
MyStaticClass.MakeCall(x => x.DoThis);
MyStaticClass.MakeCallTwo(x => x.DoThisTwo);
MyStaticClass.MakeCall(x => x.DoThisThree);
}
public static class MyStaticClass{
public static void MakeCall<???>( ??????)
public static void MakeCallTwo<???>( ??????)
}
public class Cmds{
public void DoThis();
public void DoThisThree();
}
public class CmdsTwo{
public void DoThisTwo();
}
}