I have 2 objects, both of which I want to convert to dictionarys. I use toDictionary<>().
The lambda expression for one object to get the key is (i => i.name). For the other, it’s (i => i.inner.name). In the second one, i.name doesn’t exist. i.inner.name ALWAYS exists if i.name doesn’t.
Is there a lambda expression I can use to combine these two? Basically to read as:
“if i.name exists then set id to i.name, else set id to i.inner.name”.
Many thanks.
Update
When I say “don’t exist”, I mean the objects don’t actually have the properties, not that the properties are just null.
Why don’t you give each object a
ToDictionarymethod of their own, as they obviously have their own behaviours in this case.If you can’t add to the objects, because you don’t own them, you can always write extension methods for them.
Any reason your trying to force feed them into one “common” function?