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