Example #1
0
        public RuntimeMember GetConstructor(int parameterCount)
        {
            RuntimeMember runtimeMember = FindInstance(Type, ".ctor", parameterCount);

            if (runtimeMember == null)
            {
                throw new ConstructorMissingException(Type, parameterCount);
            }
            return(runtimeMember);
        }
Example #2
0
        public static RuntimeMember GetInstance(TypedValue instance, string memberName, int parameterCount)
        {
            RuntimeMember runtimeMember = FindInstance(instance.Value, memberName, parameterCount);

            if (runtimeMember == null)
            {
                throw new MemberMissingException(instance.Type, memberName, parameterCount);
            }
            return(runtimeMember);
        }
Example #3
0
 private RuntimeMember FindMemberByName(object instance, Type targetType)
 {
     foreach (MemberInfo memberInfo in targetType.GetMembers(flags | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.FlattenHierarchy))
     {
         if (!memberName.Matches(memberInfo.Name.Replace("_", string.Empty)))
         {
             continue;
         }
         RuntimeMember runtimeMember = MakeMember(memberInfo, instance);
         if (Matches(runtimeMember))
         {
             return(runtimeMember);
         }
     }
     return(null);
 }
Example #4
0
 private bool Matches(RuntimeMember runtimeMember)
 {
     if (!runtimeMember.MatchesParameterCount(parameterCount))
     {
         return(false);
     }
     if (parameterTypes == null)
     {
         return(true);
     }
     for (int i = 0; i < parameterCount; i++)
     {
         if (runtimeMember.GetParameterType(i) != parameterTypes[i])
         {
             return(false);
         }
     }
     return(true);
 }
Example #5
0
            public RuntimeMember Find(object instance)
            {
                object target = instance;

                while (target != null)
                {
                    RuntimeMember member = FindMember(target);
                    if (member != null)
                    {
                        return(member);
                    }
                    var adapter = target as DomainAdapter;
                    if (adapter == null)
                    {
                        break;
                    }
                    target = adapter.SystemUnderTest;
                    if (target == adapter)
                    {
                        break;
                    }
                }
                return(null);
            }
Example #6
0
 private bool Matches(RuntimeMember runtimeMember)
 {
     if (!runtimeMember.MatchesParameterCount(parameterCount)) return false;
     if (parameterTypes == null) return true;
     for (int i = 0; i < parameterCount; i++) {
         if (runtimeMember.GetParameterType(i) != parameterTypes[i]) return false;
     }
     return true;
 }