public delegate void ADelegate<T>(T tvalue); public class MyClass{ public void MethodA() { ADelegate<int> del=delegate(int var) { }; } } public class YClass<T>{ public delegate void BDelegate(T tValue); public void MethodA() { BDelegate del=delegate(T tValue) { }; } }