【发布时间】:2019-11-08 16:21:07
【问题描述】:
我是 C# 新手,有一个问题。我不确定之前是否有人问过这个问题或类似的问题,但是我找不到明确的解决方案。我在 C# 中创建了一个方法,它的参数是一个泛型方法:
public void MyMethod (some_generic_method)
“some_generic_method”可能具有不同数量的具有同质数据类型的参数。我应该如何创建“MyMethod”的签名?
编辑:我将尝试尽可能清楚地解释为什么需要所要求的解决方案。我正在用 C# 制作一个测试库,该库包含一个类似于“MyMethod”的方法。
想象一下:
- 用户创建了一个具有多种不同方法的类,
- 用户正在他/她的 C# 脚本中“使用”我的库,
- 用户事先知道要能够利用该库,他/她的方法名称必须包含特定的字符串(假设为“test”),
- 我的库“MyMethod”应该找到那些包含“test”作为其名称一部分的用户定义方法(在我的代码的相应部分中,我使用反射、程序集、类型......和“如果(method.name 包含“test”)”,因此库可以检测这些特定方法并将它们单独传递给它的“MyMethod”),
- 现在,由于我们不知道那些用户定义的方法签名是什么样的,所以“MyMethod”的参数应该可以处理任何用户定义的方法。这就是为什么在我的问题中我首先提到“some_generic_method”(即“MyMethod”参数)可能具有不同数量的具有同构/异构数据类型的参数。
我希望这个解释能让问题更清楚。
谢谢。
【问题讨论】:
-
如果你不知道有多少个参数,你想在
MyMethod里面怎么调用它? -
您能否提供一些具有“具有同质数据类型的不同数量参数”的方法的示例?
-
如果您能给我们一些关于您想要实现的目标的背景信息,而不是您如何尝试实现它,这将会有所帮助。很有可能会有一种更好的方法。
-
依靠
MyMethod能够处理,好吧,基本上任何事情对我来说似乎都有点臭。几乎是潜在的 XY 情况。您能否举几个具体的例子来说明您正在尝试做什么? -
你想把方法解析为参数吗????
标签: c# methods parameters