Я бы хотел переопределить все свойства вызовами пользовательских методов с помощью отражения.
Единственный способ - использовать PropertyBuilder и ILGenerator?Я только что нашел документацию о создании новой сборки и нового класса, но не о переопределении свойства в определенном классе.
Это пример класса со свойствами только для int.
public class Foo : MyContext
{
public int Bar { get; set; }
public int Baz { get; set; }
}
public class MyContext
{
public MyContext()
{
var props = this.GetType().GetProperties();
foreach(var p in props)
{
//...
}
}
protected void CustomSet(string propName, int value)
{
//...
}
protected int CustomGet(string propName)
{
//...
}
}
Иэто ожидаемое поведение.
public class FooReflected : MyContext
{
public int Bar
{
get { return CustomGet("Bar"); }
set { CustomSet("Bar", value); }
}
public int Baz
{
get { return CustomGet("Baz"); }
set { CustomSet("Baz", value); }
}
}