У меня есть свойство:Как контролировать работу набора в чистом виде?
public Foo My Foo{ get; set; }
Я хочу монитор множественная операция на нем, но точкой излома не обосновались на ней, как контролировать его без изменения кода?
У меня есть свойство:Как контролировать работу набора в чистом виде?
public Foo My Foo{ get; set; }
Я хочу монитор множественная операция на нем, но точкой излома не обосновались на ней, как контролировать его без изменения кода?
(визуальное меню студии) Debug -> New Breakpoint -> Перерыв в функции ...
геттер: ClassName.get_PropertyName()
в вашем примере, это будет Class.get_MyFoo()
сеттер: ClassName.set_PropertyName(PropertyType)
в вашем примере, это было бы Class.set_MyFoo(Foo)
Вы не можете, насколько мне известно. Если вы хотите, чтобы свойство делало что-то нетривиальным, вам нужна полная реализация свойства вместо автоматически реализованного. Это не трудно сделать, конечно, - что автоматически реализуется свойство только эквивалентно:
private Foo myFoo;
public Foo MyFoo
{
get { return myFoo; }
set { myFoo = value; }
}
Так просто преобразовать его в той форме и добавить любой код, который вам нужен (вход и т.д.).
Хорошо, но у меня нет разрешения на изменение кода, я думаю, может быть, существует способ без кода изменения, но, видимо, у меня нет выбора. –
@RedHat: О каком «мониторинге» вы говорите и сколько кода вы не можете изменить? –
@Jon Skeet: Это свойство находится в модели, и у меня нет разрешения на изменение модели, но я хочу знать, какой код задает свойство myFoo неожиданности в моем коде или привязке или что-то еще. –
Если вы не можете изменить существующий код и по-прежнему хотите перехватить звонки на существующие методы, вы можете проверить PostSharp или, возможно, profiler API.
Какое текстовое поле Line и Character должно заполнять диалоговое окно функции Break at? –
Спасибо, это точно мое требование. –
@RedHat Вы можете покинуть другие поля, поскольку они – Alex