小编Jos*_*ker的帖子

C# - 将大型(150MB)文本文件读入RTF文本框

我正在尝试将150mb文本文件读入富文本框.

目前,我正在使用StreamReader迭代文件中的每一行,将每一行追加到StringBuilder实例.

这适用于较小的文件,但在尝试读取大文件时遇到System.OutOfMemory异常.

我没有看到读取150mb文件的任何问题 - 有足够的物理内存,这在Windows 32位应用程序地址空间内.

如果这里的任何人有任何想法如何做到这一点,将不胜感激.

我会在最后附上我的代码.

谢谢.

StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileLocation))
{
   string line;
   while ((line = sr.ReadLine()) != null)
   {
      sb.AppendLine(line);
   }
    }

return sb;
Run Code Online (Sandbox Code Playgroud)

c# windows visual-studio winforms

5
推荐指数
1
解决办法
2366
查看次数

创建在 Aurelia 中使用依赖注入的类的新实例

我想创建一个工厂,它能够创建使用依赖注入的类(MyClass,实现抽象类)的新实例。

我希望工厂看起来像这样:

工厂

export class Factory {

  public static makeMyClass() {
    return new MyClass();
  }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我采用这种方法时,EventAggregator 不会注入到 MyClass 中。

我怎样才能做到这一点?

界面

export abstract class MyClassInterface {

  abstract connect();
  abstract disconnect();
  abstract send(message: string);

}
Run Code Online (Sandbox Code Playgroud)

班级

@inject(EventAggregator)
export class MyClass {

  constructor(EventAggregator) {}

  connect() {}
  disconnect() {}
  send(message: string) {}

}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

dependency-injection aurelia aurelia-di

4
推荐指数
1
解决办法
1592
查看次数