Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Abstract Generic class?
Message
De
12/10/2009 14:34:33
 
 
À
Tous
Information générale
Forum:
ASP.NET
Catégorie:
Conception classe
Titre:
Abstract Generic class?
Versions des environnements
Environment:
C# 3.0
Divers
Thread ID:
01429024
Message ID:
01429024
Vues:
116
Hi,

I have a generic class - in a cutdown form so:
public class BaseTVItemViewModel<U> : ViewModelBase
     where U : EntityObject
    {
        Interfaces.IsTreeModel<U> _treeModel;
        List<BaseTVItemViewModel<U>> _children;
        BaseTVItemViewModel<U> _parent;

        public BaseTVItemViewModel(Interfaces.IsTreeModel<U> tm)
        {
            _treeModel = tm;
        }

       public BaseTVItemViewModel<U> Parent
        {
            get
            {
                if (_parent == null)
                {
                    _parent = new BaseTVItemViewModel<U>((Interfaces.IsTreeModel<U>)_treeModel);
                }
                return _parent;
            }
            set { _parent = value; }
        }

        public List<BaseTVItemViewModel<U>> Children
        {
            get
            {
                if (_children == null)
                {
                    _children = new List<BaseTVItemViewModel<U>>();

                    foreach (U u in _treeModel.GenericChildren)
                    {
                        _children.Add(new BaseTVItemViewModel<U>((Interfaces.IsTreeModel<U>)u));
                    }
                }
                return _children;
            }

        }

        public virtual void LoadItems()
        {
        }
    }
I wanted to make the LoadItems() method abstract but I can't make the class abstract because constructing a new instance of an abstract class (as in the Children property) isn't allowed :-{

Is there a better way of designing this?
TIA,
Viv
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform