Рассмотрим открытый класс LogItem
и производный универсальный класс LogItem<T>
, как показано ниже. После некоторого времени, потраченного на поиск правильного синтаксиса для указания универсального типа в XAML, редактор наконец был доволен. Тем не менее я получил ошибку ниже, пытаясь построить проект. Я использую VS 2017 Preview, но я предполагаю, что VS 2017 будет так же. Если я пропущу часть (system:Int32)
, все пойдет по плану. Я использую NET 4.6.2.
ошибка MC3050: не удается найти тип «модули: LogItem (система: Int32)».
Обратите внимание, что имена типов чувствительны к регистру.
namespace App.Modules
{
public class LogItem
{
public string Info { get; set; }
}
public class LogItem<T> : LogItem
{
public T Content { get; set; }
}
}
xmlns:modules="clr-namespace:App.Modules"
xmlns:system="clr-namespace:System;assembly=mscorlib"
<DataTemplate DataType="{x:Type modules:LogItem(system:Int32)}">