public BindingOperation Make(Tree <Cell> nameCell) { var name = nameCell.Value.Text.Trim(); if (NoOperationIsImpliedBy(name)) { return(new NoBinding()); } if (CheckIsImpliedBy(name)) { return(new CheckBinding(processor, targetProvider, nameCell)); } var memberName = processor.ParseTree <Cell, MemberName>(nameCell); var member = MemberQuery.FindInstance(processor.FindMember, targetProvider, new MemberSpecification(memberName, 1)); if (member == null && newIdentifier.IsStartOf(name)) { string newMemberName = name.Substring(4); return(new CreateBinding(processor, adapter, newMemberName)); } return(new InputBinding(processor, targetProvider, nameCell)); }
static RuntimeMember GetMethodFromProcessor(object targetInstance, string memberName, int parameterCount) { var processor = Builder.CellProcessor(); return(MemberQuery.FindInstance(processor.FindMember, targetInstance, new MemberSpecification(new MemberName(memberName), parameterCount))); }
[Test] public void GenericMethodWithParmsIsInvoked() { var member = new MemberName("genericmethodofsystemint32", "genericmethod", new[] { typeof(int) }); var method = MemberQuery.FindInstance(MemberQuery.FindMember, instance, new MemberSpecification(member, 1)); Assert.IsNotNull(method); var result = method.Invoke(new object[] { 123 }); Assert.AreEqual("sample123", result.Value.ToString()); }
RuntimeMember GetMethod(string memberName, int count) { return(MemberQuery.FindInstance(MemberQuery.FindMember, instance, new MemberSpecification(new MemberName(memberName), count))); }
[Test] public void MethodwithMatchedParameterNamesIsFound() { Assert.IsNotNull(MemberQuery.FindInstance(MemberQuery.FindMember, instance, new MemberSpecification("methodwithparms", 1).WithParameterNames(new [] { "input" }))); }