Я пытаюсь создать интерфейс с общим делегатом.Затем я хочу, чтобы классы, реализующие интерфейс, определяли фактический метод типа или, предпочтительно, даже возвращали другой делегат.
Ниже приведен код, описывающий то, что я пытаюсь достичь.
public delegate void GenericMethod<T>(T arg);
public delegate void StringMethod(string str);
public delegate void ByteMethod(byte bt);
public interface ITest
{
GenericMethod<T> someMethod;
}
public class TestA : ITest
{
public GenericMethod<string> someMethod
{
get
{
return stringMethod; //which is of type StringMethod(string str), defined above
}
}
}
public class TestB : ITest
{
public GenericMethod<byte> someMethod
{
get
{
return byteMethod; //which is of type ByteMethod(byte bt);, defined above
}
}
}
Это возможно?Или нельзя так переключать делегатов?