Вы можете сделать это с помощью отражения и создания динамического выражения:
var selectorExpressions = new List<Expression<Func<User, object>>>();
foreach (var prop in typeof(User).GetProperties())
{
var arg = Expression.Parameter(typeof(User), "x");
var property = Expression.Property(arg, prop.Name);
var cast = Expression.Convert(property, typeof(object));
var expr = Expression.Lambda<Func<User, object>>(cast, arg);
selectorExpressions.Add(expr);
}
Необходимо смочь использовать tlbimp с/keyfile:FileName, или/keycontainer:FileName переключаются, чтобы сделать это. Или я думаю, что Вы раньше могли сделать это в IDE, просто путем добавления ссылки COM (был флажок для применения того же ключа к такому).
sn -k new.snk
tlbimp shdocvw.dll /out:axshdocvw.dll /keyfile:new.snk
Очевидно, Вы могли использовать свой существующий ключ...
Вы могли бы также хотеть проверить это WebBrowser
уже не делает всего, в чем Вы нуждаетесь...