有没有办法在索引器声明中使用类型参数?

发布于 2024-11-04 19:49:11 字数 286 浏览 6 评论 0原文

我不这么认为,但在我放弃并使用方法之前:

public T this<T>[String index]
{
    get{
        //return stuff
    }
}

我的类中没有类型参数。 我只想根据我想要得到的内容返回不同的类型。

例如:

myObject<String>["SavedString"]

有相应的语法吗? (当然,我无法编译上面的任何代码。)

I don't think so, but before I give up and use a method:

public T this<T>[String index]
{
    get{
        //return stuff
    }
}

I don't have a type parameter in the class.
I just want to return a different type based on what I want to get.

for example:

myObject<String>["SavedString"]

Is there a syntax for that?
(I can't compile any of the code above, of course.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧情别恋 2024-11-11 19:49:11

不,属性在 C# 中不能是泛型的。事件、构造函数、变量、运算符或终结器也不能。

基本上有泛型类型和泛型方法,仅此而已。

No, properties can't be generic in C#. Nor can events, constructors, variables, operators or finalizers.

Basically there are generic types and generic methods, and that's it.

两个我 2024-11-11 19:49:11

由于属性不能是通用的,因此您将获得的最接近的方法是这样做:

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}

Since properties can't be generic, the closest way you're going to get, is to do it like this:

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文