While I was studying the delegate which is actually an abstract class in Delegate.cs
, I saw the following method in which I don't understand
- Why the return value uses
?
though it's already a reference(class) type ?[]?
meaning on the parameter
Could you explain?
public static Delegate? Combine(params Delegate?[]? delegates)
{
if (delegates == null || delegates.Length == 0)
return null;
Delegate? d = delegates[0];
for (int i = 1; i < delegates.Length; i++)
d = Combine(d, delegates[i]);
return d;
}
See Question&Answers more detail:os