How get struct value by member name string ?
    John Xu 
    728308756 at qq.com
       
    Wed May 31 04:08:18 UTC 2023
    
    
  
On Tuesday, 30 May 2023 at 15:43:12 UTC, Steven Schveighoffer 
wrote:
> On 5/30/23 4:46 AM, John Xu wrote:
>> How to put above enum as a function parameter? Following code 
>> wouldn't work:
>> 
>>      string getTMember(T t, enum string memberName) {
>>          return __traits(getMember, t, memberName);
>>      }
>
> compile time parameters come before runtime parameters:
>
> ```d
> string getTMember(string memberName)(T t) {
>    return __traits(getMember, t, memberName);
> }
>
> // used like
> auto v = getTMember!"name"(t);
> ```
>
> -Steve
When render vibe.d diet template,
     string[] allMembers = __traits(allMembers, t);
     res.render!("index.dt", t, allMembers)
if I don't want write memberName one by one in diet template:
     table
         - foreach(memberName; allMembers)
             tr
                 td #{memberName}
                 td #{getTMember!memberName(t)}
Problem: memberName is not known at compile time.
    
    
More information about the Digitalmars-d-learn
mailing list