Я использую Mono.Cecil
для написания программы, которая вводит код IL
в установщики свойств. Проблема в том, что мне нужно использовать оператор равенства для свойства в пределах IL
. Например:
public class SomeClass
{
private int _property1;
public int Property1
{
get { return _property1; }
set { _property1 = value; }
}
private string _property2;
public string Property2
{
get { return _property2; }
set { _property2 = value; }
}
}
И код IL
, который мне нужно ввести в эти сеттеры, выглядит примерно так:
if (value != _property1)
{
//DO SOME STUFF
}
То же самое касается Property2
. Проблема в том, что Property2
имеет тип string
, который перегружает оператор ==
, а в коде IL
вместо ceq
мне нужно вызывать op_Equality
. Мой вопрос: есть ли способ проверить, переопределен ли оператор ==
для типа свойства с помощью Mono.Cecil
?