C#在另一个方法变量中构建方法变量

时间:2011-11-02 19:41:31

标签: c# visual-studio-2010 c#-4.0 methods

我有一个方法,我正在尝试添加另一个方法作为列表变量,以便我可以为每个文件添加多个错误。我目前正在将文件列表变量传递给多个不同的函数。我希望Error变量包含在文件中,但我无法弄明白。谢谢!

    class AllFiles
    {
        public string FileName { get; set; }
        public string FileType { get; set; }
        ...
        public List<ErrorClass> Error { get; set; }
    }

    class ErrorClass
    {
        public int ErrorCode { get; set; }
        public int Total { get; set; }
        public string ErrorMessage { get; set; }
        ...
    }

我使用以下内容将文件初始化为列表,以便添加多个文件。

        List<AllFiles> files = new List<AllFiles>();
        files.Add(new AllFiles());

我希望它看起来如下:

files[0]
   Error[0]
   Error[1]
files[1]
   Error[0]
   Error[1]
   Error[2]
files[2]
   Error[0]
   ...

1 个答案:

答案 0 :(得分:3)

您需要在List<ErrorClass>类'构造函数中创建AllFiles(理想情况下)的实例,并将其分配给Error属性。

其他一些建议:

  • AllFiles不是代表一个文件的类的好名字
  • ErrorClass可能只能被称为ErrorFileError
  • Error内的AllFiles属性应命名为Errors,并且应该有私有的设置器。

E.g:

class MyFile {
  public MyFile() {
    Errors = new List<MyFileError>();
  }

  public string Name { get; set; }
  public string Type { get; set; }
  ...
  public List<MyFileError> Errors { get; private set; }
}

class MyFileError {
  public int Code { get; set; }
  public int Total { get; set; }
  public string Message { get; set; }
  ...
}

根据您的设计,您可以更好地将错误列表封装在MyFile中,并且只展示IEnumerable<MyFileError>AddError(MyFileError)方法。

相关问题