Есть ли способ использовать методы расширения для класса, динамически созданного с помощью Relection.Emit? Например:Использование методов расширения со сборками времени выполнения
class somewhere
{
somewhere()
{
// define the type here using ReflectionEmit, etc.
Type tableType = CreateTableType(...table parameters...);
var table = Activator.CreateInstance(tableType);
table.Shuffle();
}
}
//... elsewhere
public class static TableTypeExtensions
{
public static Table Shuffle(this Table t)
{
...
}
}
Но у меня нет класса по названию «Таблица», только Тип tableType доступен.
Есть ли способ обойти это?
Я предпочитаю предложение интерфейса, но это тоже хорошо. –
Согласовано. Упрощенный. –
Я использовал это в своем последнем коде. Для меня больше смысла добавлять функциональность к классу, чем к интерфейсу. –