.NET 4 INLINE MASHALBYREFOBJECT METODI?
-
30-10-2019 - |
Domanda
Ho del codice che si basava su metodi che non venivano inlineati:
internal class MyClass : BaseClass
{
// should not be inlined
public void DoSomething(int id)
{
base.Execute(id);
}
}
public abstract class BaseClass : MarshallByRefObject
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected void Execute(params object[] args)
{
// does a stack walk to find signature of calling method
}
}
Naturalmente questo funziona solo se il metodo Dosomething non è inlineato. Questo è il motivo per cui la classe base deriva MarshallByRefObject
, che impediscono l'interesse dei metodi pubblici.
Fino ad ora ha funzionato, ma ho ottenuto una stacktrace da un server .NET 4 che mostrava che lo stackwalk ha raggiunto il chiamante di Dosomething.
.NET 4 è più intelligente e rileva che Myclass è interno e non ha possibilità di essere sostituito con un proxy?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow