首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >菲内塞·斯利姆:调用通用方法(fitSharp)

菲内塞·斯利姆:调用通用方法(fitSharp)
EN

Stack Overflow用户
提问于 2013-03-07 21:42:54
回答 1查看 403关注 0票数 1
代码语言:javascript
复制
Linux 3.2.0-3-amd64 #1 SMP Mon Jul 23 02:45:17 UTC 2012 x86_64 GNU/Linux
Mono 2.10.8.1 (Debian 2.10.8.1-7) (64-bit)
glib-sharp 2.12.0.0
FitNesse (v20121220)
FitSharp release 2.2 for .net 4.0

我有一个包含以下泛型方法的C#夹具

代码语言:javascript
复制
public Func<T> GetProcedure<T>(string name)
{
    return () => default(T);
}

问题:如何从Slim脚本表调用GetProcedure?

代码语言:javascript
复制
| show | GetProcedure; <?specify type here?> | text |

我在源代码中找到了下面的测试,所以应该是可能的。但是,我不知道如何在脚本表中定义T类型,这样slim就可以解析它.https://github.com/jediwhale/fitsharp/blob/master/source/fitSharpTest/NUnit/Machine/MemberQueryTest.cs

代码语言:javascript
复制
[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());
}

// This method found via the reflection above.
// see: fitSharp.Test.Double.SampleClass
public string GenericMethod<T>(T input) {
    return "sample" + input;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-17 04:24:12

不幸的是,Slim中不支持泛型方法。如果您使用的是Fit测试系统,您可以将'getprocedure of mytype‘作为方法名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15282341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档