2012-05-15 17 views

cevap

17

Bu mantıklı değil.
Func<...> dahil olmak üzere tüm başvuru türleri zaten null olabilir.

Null türler, normalde null olamayan değer türleri için geçerlidir (struct s).

+0

@ bto.rdz: Huh? Javascript'in hiç bir türü yok. – SLaks

3

A Func, referans türü olan bir temsilci. Bu, zaten null edilebileceği anlamına gelir (null bir yönteme geçebilirsiniz).

1

Func -> dönmez bir yöntem Kapsüller -> dönüş türü void ise,

Action farklı bir temsilci (Eylem) vardır jenerik parametresi

tarafından belirtilen bir tür döndüren bir yöntem kapsüller bir değer.

Eğer nc (nullable tür) kabul edebilen parametreler kabul etmek için Func veya 'null (nullable type)' türünde bir değer döndürmesi gerekiyorsa, herhangi bir kısıtlama yoktur. Örneğin,

.

Func<int?, int?, bool> intcomparer = 
    (a,b)=> 
    { 
    if(a.HasValue &&b.HasValue &&a==b) 
     return true; 
     return false; 
    } ; 

    Func<int?, int?, bool?> nullintcomparer = 
    (a,b)=> 
    { 

    if(a.HasValue &&b.HasValue &&a==b) 
     return true; 
    if(!a.HasValue || !b.HasValue) 
     return null; 
     return false; 
    } ; 

    var result1 = intcomparer(null,null); //FALSE 
    var result2 = intcomparer(1,null); // FALSE 
    var result3 = intcomparer(2,2); //TRUE 


    var result4 = nullintcomparer(null,null); // null 
    var result5 = nullintcomparer(1,null); // null 
    var result6 = nullintcomparer(2,2); //TRUE 
+1

Dönüş tipi hakkında konuşmuyor. – SLaks

İlgili konular