Я пишу общий IValueConverter для WPF и отклеиваюсь при сравнении значения с конкретным типом.
Структура моих предметов выглядит примерно так
public interface IAwesome
{
int AwesomeAmount { get; set; }
}
public class MyAwesomeClass : IAwesome
{
public int AwesomeAmount { get; set; }
}
Мой метод выглядит примерно так
public bool CompareToType(object value, Type type);
Если бы у меня было ...
var mac = new MyAwesomeClass();
bool isAwesome = CompareToType(mac, typeof(IAwesome));
Точно так же я мог написать
var stream = new FileStream();
bool isStream = CompareToType(stream, typeof(Stream));
Как мне написать свой метод CompareToType, чтобы определить, реализует ли класс Интерфейс или наследует от базового объекта?
Извиняюсь, если мне не хватает чего-то ослепительно очевидного, но я все равно был бы признателен за помощь:)