Если у вас нет кода, используйте методы расширения.
public void doSmth(this objectYOUWANT arg)
{
//Do Something
}
Здесь вы используете принцип Закрыто для модификации Открыто для расширения.
Это добавит функциональность в библиотеку, у которой нет исходного кода. Это очень чисто сделать так.
Издание:
В FrameWork 3.5 есть что-то новое, называемое методами расширения. Подобные методы добавляют функциональность к закрытой сборке, позволяя вам расширить функциональность закрытой dll / сборки.
Чтобы использовать это, например, у вас есть импортируемая вами dll, которая называется Graphics.dll
(у вас есть ссылка на ваш проект)
Прежде всего вы должны создать новый статический класс, который называется, например, Extension
:
public static class Extensions
{
}
Во-вторых, вы хотите добавить дополнительные функциональные возможности к классу, содержащемуся в Graphics.dll
с именем ChartGraph
. Вы сделаете это:
public static class Extensions
{
public static void draw(this ChartGraph g)
{
// DO SOMETHING
}
}
В-третьих, когда вы создаете экземпляр нового объекта из graphics.dll
, теперь у вас будет новый созданный вами метод:
ChartGraph myG = new ChartGraph();
myG.draw();
Как вы видите, вы добавили новую функциональность без особых усилий без перекомпиляции dll, это хорошо, если у вас нет исходного кода.