Wie funktioniert der Operator is
in Bezug auf den DLR?Wie arbeitet der Operator "ist" mit dynamischen Objekten?
Auf meine Frage ein wenig deutlicher machen, sollten Sie die folgende Signatur:
public bool Is<T>(Func<dynamic> getInstance)
{
return getInstance() is T;
}
standardmäßig welchen Bedingungen für Is<T>
notwendig sind true
zurückzukehren? Bietet der DLR außerdem einen Mechanismus, um dieses Verhalten anzupassen?
Welche Art von Anpassungsverhalten möchten Sie? –
@ReedCopsey, granular ducktyping: Ich möchte in der Lage sein, etwas wie eine Schnittstelle zu tun: 'öffentliche Schnittstelle INamed {string Name {get; }} 'und wenn ich überprüfe 'getInstance() ist INamed', um meine benutzerdefinierte' DynamicMetaObject' -Implementierung zurückgeben zu lassen, wenn das dynamische Objekt eine String-Eigenschaft namens "Name" enthält. Irgendwelche Vorschläge? – smartcaveman
Sie müssten die Prüfungen selbst implementieren, wahrscheinlich durch Verwendung von Reflexionen an der Schnittstelle usw. –