Determining whether a class has a method
Christopher Wright
dhasenan at gmail.com
Thu Nov 29 16:11:44 PST 2007
Hey all,
I'm trying to determine whether a class has a method (at compile time,
based on the name), and ideally I want to do this is D1 as well as D2.
In D2, I can just use __traits, of course.
I could try doing something like:
bool has_method(T, string name)() {
foreach (method; T.tupleof) {
if (method.stringof == name) {
return true;
}
}
return false;
}
But tupleof fails if you give it a class that has fields (methods are
fine, but data fields aren't). I'm pretty sure this is a bug; can anyone
else comment on it?
Is there a way to do this in D1?
More information about the Digitalmars-d-learn
mailing list