Accessing properties of an anonymous types in C#? -


say created anonymous type person has name , birth date properties:

var person = new{ name = "mike", birthdate = new datetime(1990, 9, 2) }; 

then later on, decided add method return age of person.

var person = new { name = "mike",                     birthdate = new datetime(1990, 9, 2),                     getage = new func<int>(() => { return /* what? */; }) }; 

how access property birthdate can compute age? tried using this of course didn't work.

you can't. have create person class have such functionality:

    class person {         public string name { get; set; }         public datetime birthdate { get; set; }         public timespan age {             {                 // calculate age             }         }     }      var person = new person {             name = "mike",             birthdate = new datetime(1990, 9, 2))     }; 

edit: option create extension method datetime:

    public static timespan getage(this datetime date) {         // calculate age     }      var person = new {             name = "mike",             birthdate = new datetime(1990, 9, 2))     };      timespan age = person.birthdate.getage(); 

Comments