Reading Atributes (UDA) of overloaded functions
Ozan via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Sep 17 04:47:38 PDT 2015
Hi!
Is it possible to read all attributes in case of overloading
functions? Example:
struct Att { string name; }
struct Att2 { string name; }
@Att void testUDA(string x) { writeln("test(string ",x,")"); }
@Att2 void testUDA(int x) { writeln("test(string ",x,")"); }
void main(string[] args)
{
testUDA("aaa");
testUDA(100);
foreach (attr; __traits(getAttributes, testUDA)) {
if (attr.stringof == "Att") writeln("Found Att");
if (attr.stringof == "Att2") writeln("Found Att2");
}
}
results in one (!) "Found Att".
Seems like "First comes, first wins".
Regards, Ozan
More information about the Digitalmars-d-learn
mailing list