Je suis en train de nettoyer des mises en garde dans mon projet C#, et j'ai deux ou trois d'entre eux en disant:Composants System.ComponentModel.IContainer non utilisés?
Warning 1 The field 'Namespace.Class.components' is assigned but its value is
never used E:\WorkspacePath\Sources\Project\WorkItems\Class.designer.cs
Si je regarde dans le code, je peux trouver:
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
J'ai lu que c'est effectivement utilisé par le concepteur, mais il ne semble pas l'utiliser du tout. J'aurais supprimé cette ligne tout de suite si ce n'était pas pour le commentaire. Commentant que la ligne ne semblait pas changer le comportement du concepteur, je pouvais toujours ouvrir ma vue de menu sans aucun problème. Donc, ma question est, est-il sécuritaire de supprimer cette ligne quand j'ai l'avertissement au moment de la compilation, ou cet avertissement est plutôt "normal"? Que devrais-je faire avec? Est-ce que j'oublie de faire quelque chose avec ce composant?
Merci pour votre aide,
Ceci réussit à supprimer l'avertissement, mais suis-je censé le remplacer? Je ne suis pas en train d'implémenter IDisposable, donc cette méthode Dispose doit être héritée d'un droit de classe basique (donc l'instruction override dans la solution proposée). Je vais corriger les classes avec cette solution, mais je ne comprends toujours pas pourquoi nous sommes censés le faire manuellement ou pourquoi le code généré crée des avertissements. – srodriguez
Quel type de composant est-ce? Tout ce dont hérite votre composant (par exemple Form, UserControl, etc.) implémente IDisposable. Créer un nouveau composant à partir de zéro devrait sûrement générer ce code. Pouvez-vous confirmer cela? – jancow