8 Temmuz 2011, Cuma
Nasıl parametreleri gibi anonim türleri geçmek için?
Nasıl diğer fonksiyonlara parametre olarak anonim türleri geçebilir miyim? Örnek:
var query = from employee in employees select new { Name = employee.Name, Id = employee.Id };
LogEmployees(query);
query
burada değişken güçlü bir tür yok. Nasıl benim LogEmployees fonksiyonu kabul etmek için tanımlamak gerekir?
public void LogEmployees (? list)
{
foreach (? item in list)
{
}
}
DiÄŸer bir deyiÅŸle, I ?
işareti yerine kullanılır.
CEVAP
8 Temmuz 2011, Cuma
Bu anonim türü için bir sınıf yapmak gerektiğini düşünüyorum. Bu bence yapılacak en mantıklı şey olurdu. Ama eğer gerçekten istemiyorsanız, dinamikleri kullanabilirsiniz:
public void LogEmployees (IEnumerable<dynamic> list)
{
foreach (dynamic item in list)
{
string name = item.Name;
int id = item.Id;
}
}
Bu olduğunu unutmayındeğilkesinlikle yazılmış, eğer öyleyse, örneğin, EmployeeName Adı değişiklikleri, çalışma zamanı kadar bir sorun olduğunu bilemezsin.
Bunu PaylaÅŸ:
Nasıl parametreleri doğru geçmek için?...
Nasıl anonim bir sınıf için parametrel...
Nasıl Java konsolu (kullanıcı türleri ...
Nasıl Jilet gibi bir ad almak için Say...
Nasıl Düzenli İfade, JavaScript için b...