Этот T
может быть любого типа, расширяющего Object
, и ваш код не является безопасным. Если что-то, кроме HashMap<String, String>
, передано вам, вы можете получить ClassCastException
. Но использование оператора instance of
предотвратит это. Но все равно любой может отправить любой объект в ваш метод. Так что непроверенное предупреждение просто утверждает, что.
Использование экземпляра здесь кажется мне немного неловким. Скорее, если вы хотите добавить запись в существующую карту, вы можете изменить объявление вашего универсального метода следующим образом:
public <S, T extends Map<S, S>> void addEntryToMap(T x, S key, S value) {
x.put(key, value);
}
Этот код безопасен по типу, более чистый и элегантный, чем описанный выше пример проверки. .
Это потому, что TreeView не имеет фокуса? Изменяет ли значение False для свойства TreeView HideSelection наблюдаемое поведение?
После установки SelectedNode. Попробуйте выбрать treeView. Все равно у меня сработало.
private void button1_Click(object sender, EventArgs e)
{
this.treeView1.SelectedNode = this.treeView1.Nodes[1];
this.treeView1.Select();
}
Под выделением я предполагаю, что вы хотите сделать текст жирным. Это не так элегантно, как некоторые другие технологии на стороне клиента, но вы можете обработать изменяемый узел и выделить выбранный узел жирным шрифтом, например
treeNode.Font = new Font(treeNode.Font, treeNode.Font.Style | treeNode.Bold);