Determining whether something is an interface?

BCS ao at pathlink.com
Mon Nov 12 18:04:54 PST 2007


Reply to Christopher,

> Daniel Keep wrote:
> 
>> Christopher Wright wrote:
>> 
>>> You can determine whether a type is a class:
>>> is (T : Object)
>>> There's no equivalent for interfaces. You can use the compiles
>>> trait:
>>> __traits(compiles, class Something : T {})
>>> Except you can't -- it only takes expressions, not declarations.
>>> There are traits for abstract classes (interfaces aren't) and final
>>> classes; how about something for interfaces? Or should I just start
>>> using abstract classes instead?
>>> 
>> Have you tried is( T == interface ) ?
>> 
>> -- Daniel
>> 
> No, I haven't. `interface` isn't a type, so it didn't occur to me to
> try that. Thank you, and thank torhu.
> 

the full list of things you can do is at:

http://www.digitalmars.com/d/1.0/expression.html#IsExpression




More information about the Digitalmars-d-learn mailing list