@@ -30,7 +30,7 @@ public static string ToSerializableForm(this MethodInfo method)
3030 serializableName += method . ToString ( ) ;
3131 else
3232 serializableName += method . GetGenericMethodDefinition ( ) + Environment . NewLine +
33- String . Join ( Environment . NewLine ,
33+ string . Join ( Environment . NewLine ,
3434 method . GetGenericArguments ( ) . Select ( ty => ty . ToSerializableForm ( ) ) . ToArray ( ) ) ;
3535 return serializableName ;
3636 }
@@ -42,7 +42,13 @@ public static MethodInfo GetMethodFromSerializableForm(this string serializedVal
4242
4343 var fullName = SplitString ( serializedValue ) ;
4444 var name = fullName [ 1 ] ;
45- var method = Type . GetType ( fullName [ 0 ] ) . GetMethods ( ) . First ( m => m . ToString ( ) == name ) ;
45+ var type = Type . GetType ( fullName [ 0 ] ) ;
46+ var publicMethods = type . GetMethods ( BindingFlags . Public | BindingFlags . Instance | BindingFlags . Static ) ;
47+ var method = publicMethods . FirstOrDefault ( m => m . ToString ( ) == name ) ;
48+ if ( method == null ) {
49+ var nonPublicMethods = type . GetMethods ( BindingFlags . NonPublic | BindingFlags . Instance | BindingFlags . Static ) ;
50+ method = nonPublicMethods . First ( m => m . ToString ( ) == name ) ;
51+ }
4652
4753 if ( method . IsGenericMethod )
4854 method = method . MakeGenericMethod ( fullName . Skip ( 2 ) . Select ( s => GetTypeFromSerializableForm ( s ) ) . ToArray ( ) ) ;
@@ -64,7 +70,14 @@ public static MemberInfo GetMemberFromSerializableForm(this string serializedVal
6470
6571 var fullName = SplitString ( serializedValue ) ;
6672 var name = fullName [ 1 ] ;
67- var member = Type . GetType ( fullName [ 0 ] ) . GetMembers ( ) . First ( m => m . ToString ( ) == name ) ;
73+ var type = Type . GetType ( fullName [ 0 ] ) ;
74+ var publicMemberss = type . GetMembers ( BindingFlags . Public | BindingFlags . Instance | BindingFlags . Static ) ;
75+ var member = publicMemberss . FirstOrDefault ( m => m . ToString ( ) == name ) ;
76+ if ( member == null ) {
77+ var nonPublicMembers = type . GetMembers ( BindingFlags . NonPublic | BindingFlags . Instance | BindingFlags . Static ) ;
78+ member = nonPublicMembers . First ( m => m . ToString ( ) == name ) ;
79+ }
80+
6881 return member ;
6982 }
7083
0 commit comments