Why is the generic delegate does not accept my method? - C#