2011-01-12 3 views
1

J'ai créé une classe appelée MyClass un peu comme celui-ci:déclarant C# fonction

public class MyClass 
{ public int MyInt {get;set;} 
    public int MyInt2 {get;set;} 
} 

Maintenant, je voudrais créer une fonction qui accepte un int en tant que paramètre et qui retourne une liste d'objets MaClasse.

Je suis bloqué sur la syntaxe. Est-ce que public static List<MyClass> MyFunction (int MyParam)? Je ne reçois pas intellisense.

Merci.

Répondre

3

Vous avez probablement envie:

public static List<MyClass> MyFunction(int myParam) 
{ 
    // .... 

List<MyClass> est une liste générique, qui est la meilleure option (car son type de sécurité) pour une liste des MyClass. Il faudra ajouter using System.Collections.Generic; au début de votre fichier (ou le qualifier pleinement).

+1

Si vous n'obtenez pas IntelliSense sur la partie liste, assurez-vous que vous avez un "using System.Collections.Generic;" en haut du fichier/espace de noms. – Reddog

+1

Un type de retour de 'IList ' peut permettre plus de flexibilité. Même si le développeur n'en a pas besoin, un petit coup de pouce à la compréhension des interfaces ne pourrait pas nuire. – David

+0

@David: True - 'IEnumerable ' pourrait être encore mieux. (Bien que, je dois admettre, 'Liste ' est souvent utilisé comme un cas "spécial" dans le cadre et retourné directement - des méthodes comme ToList() auraient pu renvoyer 'IList ' mais ne pas ...) –

0

public static List<MyClass> MyFunction(int myParam) { } semble être une bonne syntaxe pour accepter un paramètre int, et retourner une liste d'instances de MyClass.

Si vous ne bénéficiez pas de la prise en charge d'IntelliSense (en supposant que vous utilisez VS.NET), vous pouvez rencontrer des erreurs de syntaxe dans votre code source. En parlant de intellisense, si vous tapez Ctrl + . sur n'importe quel type dans votre fichier source dans VS.NET, VS.NET recherchera automatiquement ce type et ajoutera une instruction using à votre fichier source pour vous.

Questions connexes