2013-11-02 2 views
2

Скажем, если мне нужно переопределить метод ToString в обычае List, я бы это сделать:Как переопределить ToString() в массиве []?

public class WebUILanguage2 : List<WebUILanguage> 
{ 
    public override string ToString() 
    { 
     return "Overridden message"; 
    } 
} 

, но что, если я хочу, чтобы изменить это?

public class WebUILanguage2 : WebUILanguage[] 
+0

Ну, ваше предложение даже не является допустимым C#, поэтому задавать дополнительные вопросы о такой ситуации - пустая трата времени. –

+1

Опыт Ahhh StackOverflow. Найдите общий вопрос о программировании, получите ТАК как TOP GOOGLE RESULT, нажмите, чтобы найти вопрос с нисходящими словами и snarky комментариями в верхней части экрана. Возможно, SO, если вы считаете, что вопрос настолько бесполезен, прекратите бесстыдно сшивать его, чтобы он не был ТОП-РЕЗУЛЬТАТ GOOGLE. –

ответ

6

Вы не можете. Вы не можете выводить из массива.

Я бы посоветовал отказаться от переопределения ToString в List<T> тоже - как правило, лучше использовать композицию, чем наследование, для подобных вещей, по моему опыту.

+0

Все, что мне нужно - это настраиваемый метод ToString. Значит, нет? – ahmd0

+0

@ ahmd0 вы можете использовать метод расширения, который принимает, например, 'IList ' и печатает его так, как вы хотите. –

+0

@ ahmd0: Нет. Вы просто не можете создать свой собственный тип, который расширяет тип массива. Это невозможно в C#. –

Смежные вопросы