Вам необходимо добавить параметр типа MessageBox
в метод расширения:
public static void Foo(this MessageBox messageBox) { ... }
Затем создать экземпляр MessageBox перед вызовом метода
var messageBox = new MessageBox();
messageBox.Foo();
[Обновление: К сожалению, это не работает в случае MessageBox
, так как нет открытого конструктора.Спасибо nemesv за подсказку.Следующий пример теоретически должен работать, но на практике это не так.Я оставлю это для справки.]
В вашем примере вы вызываете метод для самого класса.Методы расширения применяются только к экземплярам.Вот версия вашего кода с примененными выше исправлениями:
namespace MessageBoxExtensions
{
public static class MessageBoxExtensionsClass
{
public static void Foo(this MessageBox messageBox)
{
// ...
}
}
}
using MessageBoxExtensions;
// ...
var messageBox = new MessageBox();
messageBox.Foo();