На что ссылается параметр @object во время вызовов BeginInvoke?
В примере использования метода пула потоков BeginInvoke:
...
Func<string, int> method = someWorkMethod;
IAsyncResult cookie = method.BeginInvoke("test", ...
Один из ожидаемых параметров (последний) в BeginInvoke:
object @object
Что означает @?
Спасибо,
Скотт
2 ответа
Решение
Символ @ является escape-символом, который позволяет использовать ключевые слова в качестве имен символов. Например, вы не могли нормально сделать:
object object = something;
... потому что объект является ключевым словом, но вы можете сделать:
object @object =
void DoSomething(params object[] @params) {
...так далее
Это просто спасательный персонаж. Таким образом, вы можете называть параметры как угодно, даже если это зарезервированное ключевое слово.