Почему я не могу использовать следующую лямбду внутри метода? При каких обстоятельствах разрешено использовать общие типы?Почему я не могу использовать общий тип с выражением lamba?
Например я знаю, что я могу использовать дженерики внутри класса:
//Valid
public class GenericList<T>
{
void Add(T input) { }
}
, но я не могу в следующем коде:
//Not valid
private void Timer1_Tick(object sender, EventArgs e)
{
//Edit:
//As you can guess this is a timer event and Action is called
//only in this scope but possibly more than one time
//that's why i though to make it Action method.
//In the following line `Τ` is not recognized...
Action<List<T>, List<T>> syncLists = (l1, l2) => { ... };
}
** Я не думаю, что это но только в случае, если я использую 3.5
ли 'T' определено в определении внешнего класса? – 2kay
Что вы пытаетесь достичь? Какой тип 'T' должен представлять в вашем втором примере кода? В случае дженериков вы должны указать типы. Где будут указаны типы для 'T' в вашем коде? –
Мне нужно определить небольшую функцию только внутри области «Таймер». 'T' может быть любым классом, так как я хочу общий тип. Вероятно, я мог бы использовать 'dynamic', но не предпочтительнее. – CodeArtist