www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Any easy way to check if an object have inherited an interface?

reply solidstate1991 <laszloszeremi outlook.com> writes:
It seems that I've to write my own function that searches in the 
given object's classinfo.interfaces since I couldn't find 
anything related in Phobos.
Jul 22 2019
next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 23/07/2019 9:34 AM, solidstate1991 wrote:
 It seems that I've to write my own function that searches in the given 
 object's classinfo.interfaces since I couldn't find anything related in 
 Phobos.
if (Foo foo = cast(Bar)bar) { }
Jul 22 2019
prev sibling parent XavierAP <n3minis-git yahoo.es> writes:
On Monday, 22 July 2019 at 21:34:18 UTC, solidstate1991 wrote:
 It seems that I've to write my own function that searches in 
 the given object's classinfo.interfaces since I couldn't find 
 anything related in Phobos.
Do you mean...? interface I {} class C : I {} void main() { C c1; writeln(is(typeof(c1) : I)); } No need for Phobos, core language: https://dlang.org/spec/expression.html#IsExpression https://dlang.org/spec/declaration.html#Typeof
Jul 23 2019