On 03.05.2016 18:03, Jonathan Villa wrote:
public final class accounts
{
public:
static table_user user;
}
public final class table_user
{
private:
static uint32 dummy1;
static string dummy2;
static DateTime dummy3;
static ubyte dummy4;
public:
static @property auto user_id_t() { return typeof(dummy1); }
static @property auto name_t() { return typeof(dummy2); }
static @property auto alias_t() { return typeof(dummy2);}
static @property auto pers_email_t() { return typeof(dummy2); }
static @property auto corp_email_t() { return typeof(dummy2); }
static @property auto password_t() { return typeof(dummy2); }
static @property auto last_login_t() { return typeof(dummy3); }
static @property auto active_t() { return typeof(dummy4); }
static @property auto id_lang_t() { return typeof(dummy4); }
static @property auto function_t() { return typeof(dummy4); }
static @property auto register_date_t() { return typeof(dummy3); }
}
for every property it throws me an error at compile time: type ($) has
no value.
I'm trying to do a wrap of a database so when getting a resultset using
mysql-native I can do
result.front()[0].get!(accounts.user.user_it_t);
si it's more readable.
Types are not values. You cannot return a type from a function. Use
aliases instead:
----
alias user_id_t = typeof(dummy1);
alias name_t = typeof(dummy2);
/* ... etc ... */
----