UnsafeAcessor | Acessar método privado
- UnsafeAcessor
//Forma antiga de acessar um método privado
var name = typeof(Example)
.GetMethod("Method", BindingFlags.Instance | BindingFlags.NonPublic) !
Invoke(example, Array.Empty<object>());
-------------------
public class Example{
private string Method(){
return "";
}
}
//Forma nova de acessar um método privado
public class Caller
{
[UnsafeAccessor(UnsafeAccessorKind.Method, Name = "Method")]
public static extern string GetMethod(Example example)
[UnsafeAccessor(UnsafeAccessorKind.Field, Name = "Field")]
public static extern ref string GetField(Example example);
}