У меня есть пара сценариев, которые охватывают это, но я напишу конкретно о том, который легче продемонстрировать
У меня есть заводской интерфейс:
interface IFactory
{
Create<T>();
}
И кусоккода, который использует его таким образом:
public static void func(IFactory f)
{
var o = f.Create<dynamic>();
}
Теперь, в реализации Create<T>()
- есть ли какой-либо способ, посредством отражения над T
, определить, намеревается ли вызывающая сторона выполнить динамическую диспетчеризацию на своихобъект в отличие от простого object
?У меня есть класс, в котором было бы очень полезно сделать такое различие ...
Я посмотрел, могу ли я найти атрибуты типа или что-то в этом роде, но не радости.