Виконуючи рефакторинг, я закінчив створити такий метод, як приклад нижче. Тип даних було змінено заради простоти.
Я попередньо мав заяву про призначення, як це:
MyObject myVar = new MyObject();
Це було відновлено випадково:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Це було результатом помилки вирізання / вставки з мого боку, але new
ключове слово в private static new
дійсній і компілюється.
Питання : Що означає new
ключове слово у підписі методу? Я припускаю, що це щось введене в C # 3.0?
Чим це відрізняється від override
?
new
модифікатора aa для методу (або іншого члена типу) не є "чимось введеним у C # 3.0". Він існує ще з першої версії C #.