En el siguiente código debo declarar el método MdrResponseInterpreter
static
de lo contrario tendré un error de compilación.¿por qué el delegado debe ser estático?
class.... {
private StandardBuilder _mdrResponseBuilder =
new StandardBuilder(MdrResponseInterpreter);
public static bool MdrResponseInterpreter(DNMessageDeliverer builder,
DNFieldSet message)
{
// .... work
}
¿Por qué? Como _mdrResponseBuilder
no es estática espero que MdrResponseInterpreter
debe ser capaz de acceder this
Definitivamente * es * un objeto en ese punto (de lo contrario, ¿dónde se asigna el valor?) Pero aún no tiene permiso para acceder a 'this'. –
Claro, no estaba claro. Actualizado mi respuesta. – Botz3000
Aún diría que no está claro. El objeto * does * existe, completamente. Es posible que no se haya inicializado * por completo, pero eso también es cierto en el cuerpo del constructor. (Puede haber otros cuerpos constructors derivados que aún no se han ejecutado, también ...) –