На что ссылается параметр @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) {

...так далее

Это просто спасательный персонаж. Таким образом, вы можете называть параметры как угодно, даже если это зарезервированное ключевое слово.

Другие вопросы по тегам