Determining whether something is an interface?

Christopher Wright dhasenan at gmail.com
Mon Nov 12 16:57:31 PST 2007


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.


More information about the Digitalmars-d-learn mailing list