- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在创建从抽象类 TextWriter 派生的类时遇到问题。
文档 http://msdn.microsoft.com/en-us/library/System.IO.TextWriter(v=vs.110).aspx
来源 http://referencesource.microsoft.com/#mscorlib/system/io/textwriter.cs
所以所有的源代码都在 C# 中,并且在第 160-162 行有这个特定的部分,我需要覆盖它以使派生类不被视为抽象的(由编译器警告提示):
public abstract Encoding Encoding {
get;
}
我如何将这一部分翻译成 C++ 以覆盖它?
警告指出“System::Text::Encoding ^System::IO::TextWriter::Encoding::get(void)”是抽象的(如 TextWriter 的源代码所示),但同时当我尝试覆盖这个“get”函数时,我得到一个错误,我的类包含显式覆盖“get”但不是从包含函数声明的接口(interface)派生的。
这是我对这个函数的 C++ 变体的唯一想法,它告诉我基类中不存在“get”函数:
System::Text::Encoding^ Encoding::get(void) {
return nullptr;
}
显示此问题的最基本示例:
public ref class SampleWriter : public System::IO::TextWriter {
public:
SampleWriter() {
// Do Nothing.
}
// Need to override 'System::Text::Encoding ^System::IO::TextWriter::Encoding::get(void)'...
// Remove this function to see that SampleWriter is inherently abstract and cannot be initialized
virtual System::Text::Encoding^ Encoding::get(void) override {
return nullptr;
}
protected:
~SampleWriter() {
// Do nothing.
}
};
public ref class SomeForm : public System::Windows::Forms::Form {
public:
SomeForm(void) {
InitializeComponent();
sample_writer = gcnew SampleWriter();
}
protected:
~SomeForm() {
if (components)
delete components;
}
private:
System::ComponentModel::Container^ components;
SampleWriter^ sample_writer;
void InitializeComponent(void) {
this->components = gcnew System::ComponentModel::Container();
this->Size = System::Drawing::Size(300, 300);
}
};
int main() {
SomeForm^ form = gcnew SomeForm();
form->ShowDialog();
return 0;
}
最佳答案
如果在 SampleWriter
的定义中使用 property
语法会怎样?像这样:
property System::Text::Encoding^ Encoding {
virtual System::Text::Encoding^ get(void) override {
return nullptr;
}
}
关于.net - 派生自 C++ 中的 .NET 抽象类,System::IO::TextWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27599639/
我正在尝试将文本写入我的 txt 文件。第一次写应用程序崩溃并报错后 Cannot write to a closed TextWriter 我的列表包含浏览器打开的链接,我想将它们全部保存在 txt
我正在使用 CsvHelper,它使用 TextWriter 来写入其输出。我不想写入文件,而是想将内容写入控制台。如何获得将写入控制台的 TextWriter? 最佳答案 使用 Console.Ou
我已经编写了一个服务,它有一个单独的线程运行,它从数据库中读取大约 400 条记录并将它们序列化为 xml 文件。它运行良好,没有错误,它报告所有文件都已正确导出,但之后只出现少数 xml 文件,而且
using (TextWriter writer = File.CreateText(path2)) {
好吧,我正在使用 ILSpy 进行巡查,并试图弄清楚这里发生了什么,但我运气不太好。 在使用 Razor 引擎的 ASP.NET MVC4 应用程序中的给定 View 中(但这当然适用于 MVC3,可
我正在尝试实现一个将一些 ActiveDirectory 信息显示到网页上的功能,但是当我出于某种原因尝试显示某些信息(用户的经理)时,它开始向我抛出以下错误,但它没有完成那在过去。任何人都可以解释这
这段代码应该是不言自明的: XDocument xd = .... using (FileStream fs = new FileStream("test.txt", FileMode.Open, F
alt text http://img179.imageshack.us/img179/7827/textwriter.jpg tf.txt 文件有 0 个字节,当在循环中多次调用此方法时,我得到:
我正在编写一个将数据导出到 CSV 文件的类,它的构造函数接受一个 TextWriter。我使用 TextWriter 而不是 StreamWriter 的原因是这样可以使测试更容易:我可以使用相同的
我有两个类,我不能以任何方式更改它们中的任何一个: 第 1 类:采用 TextWriter 作为构造函数参数并将其用作输出流。 类2:提供方法WriteLine(string)。 我需要一个适配器,以
我有 xml,我在另一个 resurse 中通过 API 发送了它。我通过 XDocument 创建它: XDocument xDoc = new XDocument( new XDeclar
我写了一个接受 TextWriter 的方法作为参数(通常是 Console.Out,但不一定)。 当我调用此方法时,一些进度信息将写入 TextWriter。 但是,由于此方法可以运行很长时间,因此
如何使用 TextWriter 对象清除文本文件的所有数据? mt文件名为:user_name.txt 谢谢。 最佳答案 FileMode.Truncate 将从文件中删除所有文本,然后打开文件进行写
我正在使用 textwriter 将数据写入文本文件,但如果该行超过 1024 个字符,则会插入一个换行符,这对我来说是个问题。关于如何解决这个问题或增加字符数限制的任何建议? textWriter.
关于防止“已在使用”错误,我想问一下,如果从多个客户端多次调用,第一个代码片段是否可能存在危险?还是两个代码块都同样安全? 我问是因为第二个代码片段调用了一个 close 方法,该方法也进行了一个听起
对于像增量捕获文本这样的情况,例如,如果您在呈现页面时收到所有 output.write 调用,并且这些调用通过 stringbuilder 附加到文本编写器中。 有没有更有效的方法来做到这一点?最好
我正在编写一个 xml 文件,但缺少特定字段的某些值。我检查当对象出现时包含特定值存在的值,但是在编写 xml 之后该值不存在。 这是我使用的代码,我认为 XmlTextWriter 可能是错误的 x
有没有办法使用 HtmlTextWriter 创建它?我正在尝试创建一种在服务器端动态创建 html 的方法 这是代码的开始我不确定如何创建“data-theme”属性,因为没有为此提供的枚举..
正在苦苦思索如何将 2 个字符串一起加密。 因为我实时添加位和位字符串(通过 str = str + bitString;)并在最后。我生成字符串并将其加密。 现在的问题是我可以像textwriter
我从我的 C# 代码调用一个 API,该代码的方法带有以下 header public void ExternalFactory.SetOut(TextWriter outputStream) 我通
我是一名优秀的程序员,十分优秀!