小编Ton*_*ham的帖子

C#WriteAllBytes忽略字符编码

我正在使用以下代码:

File.WriteAllBytes("c:\\test.xml", Encoding.UTF8.GetBytes("THIS IS A TEST"))
Run Code Online (Sandbox Code Playgroud)

理论上应该写一个UTF8文件,但我只得到一个ANSI文件.我也尝试过这只是特别冗长;

File.WriteAllBytes("c:\\test.xml", ASCIIEncoding.Convert(ASCIIEncoding.ASCII, UTF8Encoding.UTF8, Encoding.UTF8.GetBytes("THIS IS A TEST")))
Run Code Online (Sandbox Code Playgroud)

尽管如此,问题仍然存在.

我正在测试输出的文件,通过加载TextPad正确读取格式(我用样本文件测试,因为我知道这些东西有时可能有点奇怪)

c# encoding ascii utf-8 system.io.file

3
推荐指数
1
解决办法
1260
查看次数

C#类继承模式多个类

我有两个抽象类

public abstract class PluginBase
{
    protected SettingBase LocalSettings { get; set; }
}

public abstract class SettingBase
{
}
Run Code Online (Sandbox Code Playgroud)

然后我使用PluginBase创建一个新类,并与之一起使用SettingBase创建一个类

public class MyPlugin : PluginBase
{

}

public class MySettings : SettingBase
{
    public string MyValue;
}
Run Code Online (Sandbox Code Playgroud)

然后我将"MySettings"的实例加载到"LocalSettings"属性中.

在MyPlugin中,我想访问"LocalSettings"属性的"MyValue"属性.我知道我可以像这样访问它;

((MySettings)LocalSettings).MyValue;
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一种更好的方法来做到这一点,最好不需要每次都经常引用新类型,就像这样;

MyLocalSettings.MyValue
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望避免使用任何基于字符串的方法引用属性.

.net c# oop design-patterns

0
推荐指数
1
解决办法
65
查看次数

标签 统计

c# ×2

.net ×1

ascii ×1

design-patterns ×1

encoding ×1

oop ×1

system.io.file ×1

utf-8 ×1