Учитывая класс, такой как System.Timers.Timer, или ЛЮБОЙ управляемый класс (определяемый пользователем, из среды .net или какой-либо сторонней библиотеки), есть ли какая-то программа, которую я могу использовать для (а) генерации интерфейса на основе этот класс и (б) генерировать оболочку для данного класса?
например, если у меня есть
public class Foo
{
public object MyProperty { get { ... } set { ... } }
public int SomeMethod(object a) { ... }
}
это создаст интерфейс
interface IFoo
{
object MyProperty { get; set; }
int SomeMethod(object a) { ... }
}
и, возможно, даже обертка
class FooWrap
{
// something for relay constructor here
...
Foo _me;
public object MyProperty { get { return _me.MyProperty; } set { _me.MyProperty = value; } }
public int SomeMethod(object a) { return _me.SomeMethod(); }
}
Очевидно, что есть вещи, о которых я не задумывался, такие как события, дженерики и т. Д. Я хочу DWIMNWIS-PSICHTO (-Plus-Stuff-I-Clearly-Havent-Not-Think-Of).
Я знаю, что resharper / vs можно использовать для извлечения интерфейса, но я мог использовать это только на своих собственных классах.
В сторону: Вау, удивительно, как простое привыкание к ранее «неприемлемой» идее в конечном итоге придает ей легитимность. Год назад идея создания интерфейсов для всех объектов, над которыми я хочу издеваться, и внедрение инфраструктуры для инъекций выглядело как верх безумия. Оказывается, что это не совсем смерть и налоги, но это Спарта.
Я знаю и использовал typemock. Это, безусловно, работа эльфийских волшебников. Однажды, когда 800 долларов не кажутся такими уж большими деньгами, я собираюсь их купить.