2015-06-23 13 views

risposta

9

Ti piace questa (utilizzando un lambda expression):

var properties = new List<Tuple<string, string, Func<bool>>> 
{ 
    Tuple.Create<string, string, Func<bool>>(
       FirstName, 
       "User first name is required", 
       () => FirstName == null), 
}; 
6

Qualcosa di simile a questo:

List<Tuple<string, string, Func<bool>>> properties = new List<Tuple<string, string, Func<bool>>> 
{ 
    Tuple.Create(FirstName, "User first name is required", new Func<bool>(() => FirstName == null)), 
}; 

Nota che ci sono alcuni limitatons di inferenza di tipo per le espressioni lambda ... per questo motivo il new Func<bool> viene usato il modo di costruire un delegato.

Alternative:

Tuple.Create(FirstName, "User first name is required", (Func<bool>)(() => FirstName == null)), 
Tuple.Create<string, string, Func<bool>>(FirstName, "User first name is required",() => FirstName == null), 
new Tuple<string, string, Func<bool>>(FirstName, "User first name is required",() => FirstName == null), 

Alla fine si devono Ripetere le la Func<bool> da qualche parte.