Мне нужно создать фабрику, которая производит слабо типизированные объекты. Под "слабо типизированными" имею в виду, что у функционального выражения, которое я пытаюсь передать в инстанс класса, может быть разный тип единственного аргумента:
public static class TestLabelFactory
{
public static ISupportedLabel W43xH25_TscLib
{
get {
var executor = (TestLabelTask labelTask) => {
TscLibAdapter.Init(labelTask.LabelSetup.PrinterName);
...
TscLibAdapter.Print(labelTask.Copy);
};
var cls = new SupportedLabel() {
CommonLabel = CommonLabelFactory.TestLabel,
...
ExecutePrint = ??? executor ???
};
return cls;
}
}
}
Я не совсем понимаю, как мне добиться того, чтобы объект впоследствии можно было бы использовать таким образом:
(SomeObj as ISome).ExecutePrint(arg)
Наличие метода ExecutePrint я предварительно выясню через Reflection, как и его тип. Но как мне захостить сам метод? Или здесь вообще все не так?