标签: method-signature

C#:方法签名?

假设我创建了这两种方法:

public void AddScriptToPage(params string[] scripts) { /*...*/ }
public void AddScriptToPage(string href, string elementId) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)

以下代码调用了哪一种方法,为什么?

AddScriptToPage("dork.js", "foobar.js");
Run Code Online (Sandbox Code Playgroud)

编译器如何确定调用哪个方法?

c# method-signature

5
推荐指数
2
解决办法
685
查看次数

搜索c ++代码解析器以查看所有签名

我正在寻找能够使用其签名提取所有函数和方法的c ++解析器.有这样的事吗?

我看了gccxml那里有问题,它不能使用命名空间,当只有一个头文件时它不好.

c++ parsing header-files method-signature

5
推荐指数
1
解决办法
842
查看次数

具有不同签名的函数数组

我有这个课程:

class Foo
{
    ...
};

class Foo1 : public Foo
{
    ...
};

...

class FooN : public Foo
{
    ...
};
Run Code Online (Sandbox Code Playgroud)

是否可以使用这些签名的函数数组:

void f1(Foo1*){}
...
void fN(FooN*){}
Run Code Online (Sandbox Code Playgroud)

如果这些函数是非静态成员函数而不是常规函数,是否有任何更改?我不认为这会改变一些事情.

谢谢!

c++ function-pointers method-signature c++11

5
推荐指数
1
解决办法
2780
查看次数

为什么varargs总是方法签名中的最后一个参数?

为什么varargs必须是方法签名中的最后一个参数?

我想知道原因.

java parameters variadic-functions method-signature

5
推荐指数
2
解决办法
2385
查看次数

确定Objective-C方法在运行时是否为可变参数

有没有办法找出 - 在运行时 - 给定的方法是否是可变类型?喜欢的东西method_getTypeEncoding(); 这不会告诉我方法是否接受可变数量的参数.或者是否有一个技巧可以这么说?

runtime objective-c variadic-functions objective-c-runtime method-signature

5
推荐指数
1
解决办法
280
查看次数

泛型,可空,类型推断和函数签名冲突

我有这个代码:

public async static Task<T?> RequestValue1<T>(Command requestCommand)
                    where T : struct 
{
    // Whatever
}

public async static Task<T> RequestValue2<T>(Command requestCommand)
                    where T : class 
{
    // Whatever
}
Run Code Online (Sandbox Code Playgroud)

我希望我的两种方法具有相同的名称.这甚至可能吗?

我的问题:

  • 由于返回类型,我必须编写两种不同的方法(如果请求失败,我希望它为null;如果请求成功,我希望它为值),Nullable<T>if T是值类型,Tif 的实例T是引用类型.
  • async不允许ref/out,因此如果没有类型的方法参数T,T则不推断并且我的两个方法不能具有相同的名称(签名冲突,因为如果T不推断,泛型约束不适用于签名冲突解决)

目前这段代码有效,但我不喜欢"RequestValue1"和"RequestValue2"之间的这种奇怪的函数调用.

c# generics asynchronous nullable method-signature

5
推荐指数
1
解决办法
609
查看次数

Sublime PHP方法签名和自动完成描述

我真的很喜欢崇高但我有一个主要问题阻止我从Netbeans迁移:

我需要sublime自动完成来显示函数描述和方法签名(我正在使用Yii框架,我需要确切知道每个函数的作用,返回并传递参数类型).

我尝试安装几个插件,但没有工作...如果有这样的方式,那么我错过了它.

php autocomplete method-signature sublimetext2 sublimetext3

5
推荐指数
1
解决办法
8130
查看次数

如何在TypeScript中指定任何新的类型?

我试过这个,但它不起作用.Foo只是对有效的测试.Bar是真正的尝试,它应该接收任何新的类型,但Object的子类无法用于此目的.

class A {

}
class B {
    public Foo(newable: typeof A):void {

    }
    public Bar(newable: typeof Object):void {

    }
}

var b = new B();
b.Foo(A);
b.Bar(A); // <- error here
Run Code Online (Sandbox Code Playgroud)

method-signature newable typescript

5
推荐指数
1
解决办法
2906
查看次数

类型为(self)的方法签名参数

当我定义一个类时,如何在其方法的签名中包含必须属于同一类的参数?我正在构建一个应该像这样工作的图形结构,但这里是一个简化的示例:

class Dummy:
    def __init__(self, value: int, previous: Dummy=None):
        self._value = value
        self._previous = previous

    @property
    def value(self):
        return self._value

    def plus_previous(self):
        return self.value + self._previous.value

d1 = Dummy(7)
d2 = Dummy(3, d1)
d2.plus_previous()
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

NameError: name 'Dummy' is not defined
Run Code Online (Sandbox Code Playgroud)

我的意思是,我可以用 Python 2 的方式来做,但我希望有一个比这更多的 python-3-ic 解决方案:

class Dummy:
    def __init__(self, value: int, previous=None):
        assert type(previous) is Dummy or previous is None
        ...
Run Code Online (Sandbox Code Playgroud)

python oop methods method-signature python-3.x

5
推荐指数
1
解决办法
3554
查看次数

从 Web 服务 API 在 context.Context 添加多个键值

我有一个用 Go 编写的具有多个模块的 Web 应用程序,一个处理所有与数据库相关的事情,一个处理报告,一个包含所有 Web 服务,一个仅用于业务逻辑和数据完整性验证以及其他几个。所以,我有很多方法,这些模块已经涵盖了功能。

现在,要求是在Web服务中使用会话,并且我们需要在一些API中使用事务。我想到的第一种方法是更改​​现有方法的签名以支持会话、事务 (*sql.Tx)(这是一项痛苦的任务,但无论如何都必须这样做!)。现在,我担心实际上如果将来需要通过所有这些方法传递的东西,然后我必须再次经历这个循环以再次更改方法签名怎么办?这似乎不是一个好方法。

后来,我发现 context.Context 可能是一个很好的方法(好吧,除了这个,你也可以建议其他方法!)对于每个方法调用,只需在方法调用的第一个参数位置传递上下文参数,因此我已经仅更改方法签名一次。如果我采用这种方法,谁能告诉我如何在该上下文对象中设置/传递多个键(会话、sql.Tx)?(AFAIK,context.Context 提供了WithValue方法,但我可以将它用于多个键吗?我将如何在嵌套函数调用中设置一个键,这是否可能?)

其实这个问题有两个问题:

  1. 我应该考虑context.Context我的解决方案吗?如果没有,请告诉我另一种方法。
  2. 如何在 中设置多个键和值context.Context

session go method-signature

5
推荐指数
1
解决办法
2104
查看次数