Come funziona l'operatore is
rispetto al DLR?Come funziona l'operatore "è" con oggetti dinamici?
a fare la mia domanda un po 'più esplicito, si consideri la seguente firma:
public bool Is<T>(Func<dynamic> getInstance)
{
return getInstance() is T;
}
Per impostazione predefinita, quali sono le condizioni necessarie per Is<T>
per tornare true
? Inoltre, il DLR fornisce un meccanismo per personalizzare questo comportamento?
Che tipo di comportamento di personalizzazione vorresti? –
@ReedCopsey, ducktyping granulare: mi piacerebbe essere in grado di fare qualcosa come avere un'interfaccia: 'interfaccia pubblica INAMED {stringa Nome {get; }} 'e quando controllo' getInstance() è INamed' per fare in modo che l'implementazione personalizzata 'DynamicMetaObject' restituisca true se l'oggetto dinamico contiene una proprietà stringa chiamata" Name ". Eventuali suggerimenti? – smartcaveman
Dovresti implementare i controlli tu stesso, probabilmente utilizzando la riflessione sull'interfaccia, ecc. –