gpt4 book ai didi

c# - 为什么编译器会发现这有歧义?

转载 作者:行者123 更新时间:2023-11-30 18:53:18 26 4
gpt4 key购买 nike

在我的基类中,我有一个泛型方法(理想情况下这是一个属性,但你不能有泛型属性)和一个非泛型属性,它们都具有相同的名称:

protected static T CurrentUserId<T>()
{
...
}

protected static string CurrentUserId
{
get
{
...
}
}

但是,当我开始使用它们中的任何一个时,智能感知报告它们之间存在歧义。当然,base.CurrentUserId(没有 parethese)向编译器提供了足够的线索,我想调用非通用属性?

有谁知道为什么编译器会遇到这个问题?提前致谢。

最佳答案

括号没有提供足够的信息,因为您并不总是使用它们。这就是为什么这不起作用:

delegate T MyDelegate<T>();

new MyDelegate(myClass.CurrentUserId)

//are we talking about the method or the property?

关于c# - 为什么编译器会发现这有歧义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1667808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com