我正在使用以下代码:
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正确读取格式(我用样本文件测试,因为我知道这些东西有时可能有点奇怪)
我有两个抽象类
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)
理想情况下,我希望避免使用任何基于字符串的方法引用属性.