C # - Доступ к элементам для коллекции, унаследованной от List <string> - PullRequest
3 голосов
/ 15 апреля 2010

Я пытаюсь реализовать новый класс, унаследованный от List<string>, для загрузки содержимого из текстового файла в элементы.

using System.Collections.Generic;
using System.IO;
using System.Linq;

public class ListExt : List<string>
{
    string baseDirectory;

    public void LoadFromFile(string FileName)
    {
        //does not work because _list is private
        this._items = File.ReadAllLines(FileName).ToList();
    }
}

Но я не знаю, как загрузить строки в свойство _items, потому что оно приватное.

Есть предложения?

Ответы [ 4 ]

7 голосов
/ 15 апреля 2010

ListExt - это список - так что вы можете просто позвонить AddRange на себя. Вы не можете переназначить список - это по сути изменится this.

6 голосов
/ 15 апреля 2010

Попробуйте что-то вроде:

public void LoadFromFile(string FileName)
{
    base.AddRange(File.ReadAllLines(FileName));
}
1 голос
/ 15 апреля 2010

Нет необходимости выводить новый класс из List<T> в следующей строке.

List<string> lines = new List<string>(File.ReadAllLines(path));
0 голосов
/ 15 апреля 2010

Попробуйте это:

AddRange(File.ReadAllLines(FileName).ToList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...