Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Standard/StaticReflection.cs =================================================================== diff -u -r4000 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Standard/StaticReflection.cs (.../StaticReflection.cs) (revision 4000) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Standard/StaticReflection.cs (.../StaticReflection.cs) (revision 4052) @@ -23,108 +23,107 @@ using System.Linq.Expressions; using System.Text; -namespace Deltares.DamEngine.Data.Standard +namespace Deltares.DamEngine.Data.Standard; + +/// +/// static class StaticReflection +/// +public static class StaticReflection { /// - /// static class StaticReflection + /// Gets the name of the member. /// - public static class StaticReflection + /// + /// The instance. + /// The expression. + /// + public static string GetMemberName(this T instance, Expression> expression) { - /// - /// Gets the name of the member. - /// - /// - /// The instance. - /// The expression. - /// - public static string GetMemberName(this T instance, Expression> expression) + return GetMemberName(expression); + } + + public static string GetMemberName(Expression> expression) + { + return GetMemberName(expression); + } + + private static string GetMemberName(Expression> expression) + { + if (expression == null) { - return GetMemberName(expression); + throw new ArgumentException("The expression cannot be null."); } - public static string GetMemberName(Expression> expression) + return GetMemberName(expression.Body); + } + + private static string GetMemberName(Expression expression) + { + if (expression == null) { - return GetMemberName(expression); + throw new ArgumentException("The expression cannot be null."); } - private static string GetMemberName(Expression> expression) + var memberExpression = expression as MemberExpression; + if (memberExpression != null) { - if (expression == null) - { - throw new ArgumentException("The expression cannot be null."); - } + return GetMemberName(memberExpression); + } - return GetMemberName(expression.Body); + var methodCallExpression = expression as MethodCallExpression; + if (methodCallExpression != null) + { + // Reference type method + return GetMemberName(methodCallExpression); } - private static string GetMemberName(Expression expression) + var unaryExpression = expression as UnaryExpression; + if (unaryExpression != null) { - if (expression == null) - { - throw new ArgumentException("The expression cannot be null."); - } + // Property, field of method returning value type + return GetMemberName(unaryExpression); + } - var memberExpression = expression as MemberExpression; - if (memberExpression != null) - { - return GetMemberName(memberExpression); - } + throw new ArgumentException("Invalid expression, type is \"" + expression.Type + "\""); + } - var methodCallExpression = expression as MethodCallExpression; - if (methodCallExpression != null) - { - // Reference type method - return GetMemberName(methodCallExpression); - } + private static string GetFullMemberName(string startingMember, string separator, Expression expression) + { + var fullMemberNameBuilder = new StringBuilder(startingMember); + var memberExpression = expression as MemberExpression; - var unaryExpression = expression as UnaryExpression; - if (unaryExpression != null) + while (null != memberExpression) + { + if (fullMemberNameBuilder.Length > 0) { - // Property, field of method returning value type - return GetMemberName(unaryExpression); + fullMemberNameBuilder.Insert(0, separator); } - throw new ArgumentException("Invalid expression, type is \"" + expression.Type + "\""); + fullMemberNameBuilder.Insert(0, memberExpression.Member.Name); + memberExpression = memberExpression.Expression as MemberExpression; } - private static string GetFullMemberName(string startingMember, string separator, Expression expression) - { - var fullMemberNameBuilder = new StringBuilder(startingMember); - var memberExpression = expression as MemberExpression; + return fullMemberNameBuilder.ToString(); + } - while (null != memberExpression) - { - if (fullMemberNameBuilder.Length > 0) - { - fullMemberNameBuilder.Insert(0, separator); - } + private static string GetMemberName(MemberExpression memberExpression) + { + return GetFullMemberName(memberExpression.Member.Name, ".", memberExpression.Expression); + } - fullMemberNameBuilder.Insert(0, memberExpression.Member.Name); - memberExpression = memberExpression.Expression as MemberExpression; - } + private static string GetMemberName(MethodCallExpression methodCallExpression) + { + return GetFullMemberName(methodCallExpression.Method.Name, ".", methodCallExpression.Object); + } - return fullMemberNameBuilder.ToString(); - } - - private static string GetMemberName(MemberExpression memberExpression) + private static string GetMemberName(UnaryExpression unaryExpression) + { + var methodExpression = unaryExpression.Operand as MethodCallExpression; + if (methodExpression != null) { - return GetFullMemberName(memberExpression.Member.Name, ".", memberExpression.Expression); + return methodExpression.Method.Name; } - private static string GetMemberName(MethodCallExpression methodCallExpression) - { - return GetFullMemberName(methodCallExpression.Method.Name, ".", methodCallExpression.Object); - } - - private static string GetMemberName(UnaryExpression unaryExpression) - { - var methodExpression = unaryExpression.Operand as MethodCallExpression; - if (methodExpression != null) - { - return methodExpression.Method.Name; - } - - return GetFullMemberName("", ".", unaryExpression.Operand); - } + return GetFullMemberName("", ".", unaryExpression.Operand); } } \ No newline at end of file