Начиная с .NET 4.0 вы можете использовать ExpressionVisitor
для поиска свойств:
class ExprVisitor : ExpressionVisitor {
public bool IsFound { get; private set; }
public string MemberName { get; private set; }
public Type MemberType { get; private set; }
protected override Expression VisitMember(MemberExpression node) {
if (!IsFound && node.Member.MemberType == MemberTypes.Property) {
IsFound = true;
MemberName = node.Member.Name;
MemberType = node.Type;
}
return base.VisitMember(node);
}
}
Вот как вы используете этого посетителя:
var visitor = new ExprVisitor();
visitor.Visit(expr);
if (visitor.IsFound) {
Console.WriteLine("First property in the expression tree: Name={0}, Type={1}", visitor.MemberName, visitor.MemberType.FullName);
} else {
Console.WriteLine("No properties found.");
}
Step1: скопируйте файл в Рабочий стол или разместите папку (Это вызвано тем, что, если Файл находится на внешнем диске, необходимо смонтировать, что со свойствами выполнения, который не сделан на Ubuntu по умолчанию)
Step2: щелкните правой кнопкой по файлу, и выбрал свойства, и проверьте позволение файла выполнить button.close
step3: Дважды щелкните по Сделанной программе
!!!