Это невозможно для того, чтобы не иметь значения. Он должен будет что-то вернуть, несколько пучков из 1 и 0, которые, по крайней мере, считаются ссылкой на Tuple<String, String>[]
, поэтому до такой степени он имеет значение.
Это также случай, когда все поля в классах приготовьтесь их значение по умолчанию (default(T)
для любого типа T
они, что null
для всех ссылочных типов). В противном случае можно было бы иметь объект, который был в состоянии, которое не только не имело никакого смысла с точки зрения его действия, но и не имело никакого смысла в правилах того, что .NET ожидает от объектов. Это включает скрытые поля за автоматическими свойствами.
Теперь на некоторых языках мы можем сделать эквивалент этого:
public Tuple<String, String>[] Breadcrumbs
{
get
{
Tuple<String, String>[] whatIWillSend;
return whatIWillSend;
}
}
Если бы это было разрешено, whatIWillSend
будет иметь значение, определяемое не любое экономное решением с вашей стороны, но то, что случилось, в памяти в то время. Он может быть нулевым, он может быть действительным Tuple<String, String>[]
по чистому совпадению (но не тот, который вы хотели использовать!), может быть Dictionary<int, List<string>>
, что время выполнения теперь будет на самом деле Tuple<String, String>[]
(там идет безопасность типа всей системы), это может быть четверть структуры decimal
. (На языках, которые позволяют такие вещи, также может быть хорошо известно, что отладчики для таких языков устанавливаются в этих случаях именно так, чтобы помочь найти ошибки, вызванные им).
Это самая близкая вещь, которую мы можем получить в собственности, не имеющей значения. Обратите внимание, что это:
- Это все равно будет иметь значение, а не значимую ценность.
- Нам не разрешено делать это на C# в любом случае.
+1 для «невыразимого имени» :) –