实现IEnumerable接口

时间:2017-10-16 10:48:44

标签: c# ienumerable

我有这些c#类,我需要在foreach循环中进行迭代,所以它应该是IEnumerable。

如何实现IEnumerable接口?

三江源

Alessio的

[Serializable]
public class Libro
{
    private string _titolo;
    private string _autore;
    private DateTime _dataCreazione;
    private string _tipologia;
    private List<Capitolo> _capitoli;
    private List<Personaggio> _personaggi;

    #region Intestazione
    public string Titolo { get => _titolo; set => _titolo = value; }

    public string Autore { get => _autore; set => _autore = value; }

    public DateTime DataCreazione { get => _dataCreazione; set => _dataCreazione = value; }

    public string Tipologia { get => _tipologia; set => _tipologia = value; }

    public List<Capitolo> Capitoli { get => _capitoli; set => _capitoli = value; }

    public List<Personaggio> Personaggi { get => _personaggi; set => _personaggi = value; }

    #endregion Intestazione

    #region Struttura

    [Serializable]
    public class Capitolo
    {
        private string _titoloCapitolo;
        private string _sinossiCapitolo;
        private string _scopoCapitolo;
        private string _conflittiCapitolo;
        private string _eventiCapitolo;
        private string _tempoCapitolo;
        private string _meteoCapitolo;
        private List<Luogo> _luoghiCapitolo;
        private List<Scena> _sceneCapitolo;
        private List<Personaggio> _personaggiCapitolo;


        public string TitoloCapitolo { get => _titoloCapitolo; set => _titoloCapitolo = value; }
        public string Sinossi { get => _sinossiCapitolo; set => _sinossiCapitolo = value; }
        public string ScopoCapitolo { get => _scopoCapitolo; set => _scopoCapitolo = value; }
        public string ConflittiCapitolo { get => _conflittiCapitolo; set => _conflittiCapitolo = value; }
        public string EventiCapitolo { get => _eventiCapitolo; set => _eventiCapitolo = value; }
        public string TempoCapitolo { get => _tempoCapitolo; set => _tempoCapitolo = value; }
        public string MeteoCapitolo { get => _meteoCapitolo; set => _meteoCapitolo = value; }
        public List<Scena> SceneCapitolo { get => _sceneCapitolo; set => _sceneCapitolo = value; }
        public List<Personaggio> PersonaggiCapitolo { get => _personaggiCapitolo; set => _personaggiCapitolo = value; }
        public List<Luogo> LuoghiCapitolo { get => _luoghiCapitolo; set => _luoghiCapitolo = value; }
    }


    #endregion Struttura

    #region Oggetti

    [Serializable]
    public class Personaggio
    {
        private string _nome;
        private string _cognome;
        private string _soprannome;
        private string _professione;
        private DateTime _dataNascita;
        private string _nazionalità;
        private string _cittaNascita;
        private string _cittaResidenza;
        private Aspetto _aspetto;

        public string Nome { get => _nome; set => _nome = value; }
        public string Cognome { get => _cognome; set => _cognome = value; }
        public string Soprannome { get => _soprannome; set => _soprannome = value; }
        public string Professione { get => _professione; set => _professione = value; }
        public DateTime DataNascita { get => _dataNascita; set => _dataNascita = value; }
        public string Nazionalità { get => _nazionalità; set => _nazionalità = value; }
        public string CittaNascita { get => _cittaNascita; set => _cittaNascita = value; }
        public string CittaResidenza { get => _cittaResidenza; set => _cittaResidenza = value; }
        public Aspetto Aspetto { get => _aspetto; set => _aspetto = value; }
    }

    [Serializable]
    public class Scena
    {
        private string _titoloScena;
        private string _primaStesura;
        private string _secondaStesura;
        private string _terzaStesura;
        private string _note;
        private List<Personaggio> _personaggiScena;

        public string TitoloScena { get => _titoloScena; set => _titoloScena = value; }
        public string PrimaStesura { get => _primaStesura; set => _primaStesura = value; }
        public string SecondaStesura { get => _secondaStesura; set => _secondaStesura = value; }
        public string TerzaStesura { get => _terzaStesura; set => _terzaStesura = value; }
        public string Note { get => _note; set => _note = value; }
        public List<Personaggio> PersonaggiScena { get => _personaggiScena; set => _personaggiScena = value; }
    }

    [Serializable]
    public class Luogo
    {
        private string _nomeLuogo;
        private string _coordinate;
        private string _note;

        public string NomeLuogo { get => _nomeLuogo; set => _nomeLuogo = value; }
        public string Coordinate { get => _coordinate; set => _coordinate = value; }
        public string Note { get => _note; set => _note = value; }
    }

    [Serializable]
    public class Aspetto
    {
        private string _occhi;
        private string _capelli;
        private string _altezza;
        private string _corporatura;
        private string _note;

        public string Occhi { get => _occhi; set => _occhi = value; }
        public string Capelli { get => _capelli; set => _capelli = value; }
        public string Altezza { get => _altezza; set => _altezza = value; }
        public string Corporatura { get => _corporatura; set => _corporatura = value; }
        public string Note { get => _note; set => _note = value; }
    }

    #endregion Oggetti


    #region Metodi

    #endregion Metodi
}

0 个答案:

没有答案