значение по умолчанию для универсального типа в c# [дубликат]

Неустранимая ошибка: использование $ this, если не в контексте объекта

$this - специальная переменная в PHP , которая не может быть назначена. Если он доступен в контексте, где он не существует, эта фатальная ошибка указывается.

Эта ошибка может возникнуть:

  1. Если нестатический метод называется статическим , Пример:
    class Foo {
       protected $var;
       public function __construct($var) {
           $this->var = $var;
       }
    
       public static function bar () {
           // ^^^^^^
           echo $this->var;
           //   ^^^^^
       }
    }
    
    Foo::bar();
    
    Как исправить: снова просмотрите свой код, $this может использоваться только в контексте объекта и никогда не должен использоваться в статическом методе. Кроме того, статический метод не должен обращаться к нестатистическому свойству. Используйте self::$static_property для доступа к статическому свойству.
  2. Если код из метода класса был скопирован в нормальную функцию или только глобальную область и , сохраняя специальную функцию $this переменная. Как исправить: Просмотрите код и замените $this на другую переменную замещения.

Вопросы, относящиеся:

  1. Вызов нестатический метод как статический: PHP Неустранимая ошибка: использование $ this, если не в объектном контексте
  2. Копировать код: Неустранимая ошибка: использование $ this, если не в объекте context
  3. Все «Использование $ this, если не в контексте объекта» Вопросы по Stackoverflow

45
задан Community 23 May 2017 в 11:33
поделиться

3 ответа

Вы ищете это:

default(T);

так:

public T Foo<T>(T Bar)
{
   return default(T);
}
92
ответ дан BCS 26 November 2019 в 21:03
поделиться

Используя значение по умолчанию ключевое слово:

T t = default(T)
6
ответ дан Darin Dimitrov 26 November 2019 в 21:03
поделиться
default(T);
11
ответ дан Szymon Rozga 26 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: