J'ai une propriété publique mis sous ma forme de type ListE<T>
où:Debugging traitement Designer VS 2008
public class ListE<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
Ouais, c'est une bouchée, mais c'est ce que le concepteur a besoin pour qu'il apparaisse comme modifiable collection dans la fenêtre Propriétés. Ce qu'il fait! Donc, je clique sur le petit bouton [..] pour éditer la collection, puis sur Ajouter pour ajouter un élément à la collection.
L'opération arithmétique a entraîné un débordement.
Maintenant, ceci est une liste très basique, un peu plus qu'un tableau en expansion. La seule partie qui se rapproche de l'arithmétique dans le tout est dans la fonction d'expansion, et même celle-ci utilise un décalage à gauche plutôt qu'une multiplication, de sorte que cela ne débordera pas. Tout cela me fait penser que cette exception est soulevée dans le concepteur, peut-être causée par une petite inattention à l'implémentation de ma part, mais je ne trouve pas de moyen de tester ou de déboguer ce scénario. Est-ce que quelqu'un a des idées intelligentes?
EDIT: Oui, je peux utiliser la propriété avec succès, même bien manuellement, à savoir. dans le gestionnaire OnLoad
, et je suppose que c'est ce que je vais devoir faire si je ne peux pas obtenir ce travail, mais ce ne serait pas idéal. :(
Il n'est pas lié à votre problème, mais sachez que vous pouvez uniquement spécifier que ListE implémente IList . –
Je déteste vous le casser, mais la liste de la bibliothèque standard a exactement la même signature. Si vous allez tapez "Liste " et appuyez sur F12 dans VS, cela vous amènera à une définition reconstituée. –
Enfait, IList implémente les autres interfaces génériques avec IEnumerable, donc je pourrais le réduire comme ListE : IList , IList, mais de cette façon est plus explicite. –