2015-03-05 2 views
-2

Я делаю это (значение представляет собой список строк):C# несколько строк Tool Tip

protected override bool _setValue(object value) 
{ 
    ToolTip toolTip = new ToolTip(); 
    toolTip.Content = string.Join("\r\n", value); 
    return true; 
} 

Когда я парить над элементом, который имеет кончик инструмента, он отображает «System.Generic.List» 1 [System.String] "

Таким образом, строка string.Join() возвращает объект списка, а не строку.

Как заставить подсказку инструментов отображать несколько строк текста?

+2

Кто добавил ключевое слово 'function' в C#? ;) –

+0

Метод должен принимать значения 'object []' или 'IEnumerable значений' или отличать' значение' до одного из возможных типов. См. Параметры для String.Join: https://msdn.microsoft.com/en-us/library/system.string.join%28v=vs.110%29.aspx – Ryan

+0

@FarhadJabiev Я просто пытался показать пример для чего мне нужно. Это не было в коде. –

ответ

1

Тип возврата String.Join метод - строка не список. Вам нужно вызвать свой тип объекта в List, чтобы получить правильный ответ. Другой мудрый его компилятор просто использует value.ToString(), а значение - это не список. Просто попробовал

public static void Main(string[] args) 
     { 
      var items = new List<string> 
      { 
       "Test 1", 
       "test 2" 
      }; 
      WillPrintCorrect(items); 
      WillPrintWrong(items); 
      BestWay(items); 
      Console.ReadLine(); 

     } 

     public static void WillPrintCorrect(object value) 
     { 
      Console.WriteLine(string.Join(Environment.NewLine,(List<string>)value)); 
     } 

     public static void WillPrintWrong(object value) 
     { 
      Console.WriteLine(string.Join(Environment.NewLine, value)); 
     } 

     public static void BestWay(List<string> value) 
     { 
      Console.WriteLine(string.Join(Environment.NewLine, value)); 
    } 
+0

Это объясняет проблему, но не дает решения. – paqogomez

+0

Он делает то и другое, если и смотреть четко. Я нахожу его «Список », и он отлично работает после этого. –

+1

Действительно, вы понимаете, что я пытаюсь сделать здесь? проверьте свой метод, ваш тип параметра - Object. Поэтому, когда вы передаете ему список, он преобразует его в список. именно то, что я делаю, листинг списка для объекта. Я собираюсь изменить то, как вы это делаете. –

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