2011-04-29 4 views
0

Je ne pense pas, mais avant de donner et utiliser une méthode:Est-il possible d'utiliser un paramètre de type dans une déclaration d'indexeur?

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

Je ne dispose pas d'un paramètre de type dans la classe. Je veux juste retourner un type différent en fonction de ce que je veux obtenir.

par exemple:

myObject<String>["SavedString"] 

Y at-il une syntaxe pour cela? (Je ne peux pas compiler le code ci-dessus, bien sûr.)

Répondre

3

Non, les propriétés ne peuvent pas être génériques en C#. Les événements, constructeurs, variables, opérateurs ou finaliseurs ne peuvent pas non plus.

Fondamentalement, il existe des types génériques et des méthodes génériques, et c'est tout.

1

Étant donné que les propriétés ne peuvent pas être générique, le plus proche façon dont vous allez obtenir, est de le faire comme ceci:

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