Я не могу сказать, что полностью понимаю рациональность вашего подхода, но важно учитывать, что вы, по сути, заявили следующее:
FirstNumber = SecondNumber = Result = System.Int32;
То, что все эти идентичности теперь относятся к однотипный, System.Int32
. По этой причине Visual Studio использует для заполнения intellisense первого автора, которому присвоены ссылки.
Когда дело доходит до объявления делегатов, учтите, что вы просто определяете требуемую подпись, являющуюся типом (-ами) «IN and OUT». Это метод, который в конечном итоге «обернут» / «инкапсулирован», который предоставит идентификаторы параметров. введите «читаемые» идентификаторы, которые вы хотели:
public class FunctionPointers
{
Operator Add;
public FunctionPointers(Operator addOp)
{
Add = addOp;
}
}
public delegate Int32 Operator(Int32 FirstNumber, Int32 SecondNumber);
В противном случае, «нормальный» способ, с идентификаторами в методе:
Func<Int32,Int32,Int32> add;
public FunctionPointers()
{
add = AddMethod;
}
public Int32 AddMethod(Int32 FirstNumber, Int32 SecondNumber)
{
return FirstNumber + SecondNumber;
}