SoftFileSaveBase 类 |
命名空间: HslCommunication.BasicFramework
SoftFileSaveBase 类型公开以下成员。
名称 | 说明 | |
---|---|---|
SoftFileSaveBase |
实例化一个文件存储的基类
|
名称 | 说明 | |
---|---|---|
FileSavePath |
文件存储的路径
| |
ILogNet |
日志记录类
| |
LogHeaderText |
在日志保存时的标记当前调用类的信息
|
名称 | 说明 | |
---|---|---|
Equals | Determines whether the specified object is equal to the current object. (继承自 Object。) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (继承自 Object。) | |
GetHashCode | Serves as the default hash function. (继承自 Object。) | |
GetType | Gets the Type of the current instance. (继承自 Object。) | |
LoadByFile |
不使用解密方法从文件读取数据
| |
LoadByFile(ConverterString, String) |
使用用户自定义的解密方法从文件读取数据
| |
LoadByString |
从字符串加载数据,需要重写实现
| |
MemberwiseClone | Creates a shallow copy of the current Object. (继承自 Object。) | |
SaveToFile |
不使用加密方法保存数据到文件
| |
SaveToFile(ConverterString, String) |
使用用户自定义的加密方法保存数据到文件
| |
ToSaveString |
获取需要保存的数据,需要重写实现
| |
ToString | Returns a string that represents the current object. (继承自 Object。) |
名称 | 说明 | |
---|---|---|
ToJsonString |
获取当前对象的JSON格式表示的字符串。 (由 HslExtension 定义。)Gets the string represented by the JSON format of the current object. |
// 要想使用该类进行一些数据的存储,必须继承实现下面的方法。 /// <summary> /// 这是一个软件的配置信息存储功能的示例,假设我要存储两个数据,服务器的ip地址和端口号,一个string,一个int /// </summary> public class SoftSettings : HslCommunication.BasicFramework.SoftFileSaveBase { /// <summary> /// 必须重写这个方法,返回的数据就真正保存到txt的数据 /// </summary> /// <returns>字符串信息</returns> public override string ToSaveString( ) { // 此处举例采用xml格式存储 System.Xml.Linq.XElement element = new System.Xml.Linq.XElement( "Settings" ); element.Add( new System.Xml.Linq.XElement( nameof( IpAddress ), IpAddress ) ); element.Add( new System.Xml.Linq.XElement( nameof( Port ), Port.ToString() ) ); return element.ToString( ); } /// <summary> /// 必须重写这个方法,这个方法里应当包含怎么解析文件的数据 /// </summary> /// <param name="content"></param> public override void LoadByString( string content ) { // 上面的存储是使用xml的方式的,所以此处解析也要对照 System.Xml.Linq.XElement element = System.Xml.Linq.XElement.Parse( content ); IpAddress = element.Element( nameof( IpAddress ) ).Value; Port = int.Parse(element.Element( nameof( Port ) ).Value); } // 这里就是我们实际需要存储和解析的属性了 /// <summary> /// IP地址数据 /// </summary> public string IpAddress { get; set; } /// <summary> /// 端口数据 /// </summary> public int Port { get; set; } }
// 初始化,需要加载一次数据 SoftSettings softSettings = new SoftSettings( ); softSettings.FileSavePath = "settings.txt"; softSettings.LoadByFile( ); // 当你修改了属性的数据后,就需要调用保存一次,才会保存成功 softSettings.IpAddress = "192.168.0.100"; softSettings.Port = 1000; softSettings.SaveToFile( );
/// <summary> /// 这是一个软件的配置信息存储功能的示例,假设我要存储两个数据,服务器的ip地址和端口号,一个string,一个int,存储效果为加密 /// </summary> public class SoftSettings2 : HslCommunication.BasicFramework.SoftFileSaveBase { /// <summary> /// 必须重写这个方法,返回的数据就真正保存到txt的数据 /// </summary> /// <returns>字符串信息</returns> public override string ToSaveString( ) { // 此处举例采用xml格式存储 System.Xml.Linq.XElement element = new System.Xml.Linq.XElement( "Settings" ); element.Add( new System.Xml.Linq.XElement( nameof( IpAddress ), IpAddress ) ); element.Add( new System.Xml.Linq.XElement( nameof( Port ), Port.ToString( ) ) ); return element.ToString( ); } /// <summary> /// 必须重写这个方法,这个方法里应当包含怎么解析文件的数据 /// </summary> /// <param name="content"></param> public override void LoadByString( string content ) { // 上面的存储是使用xml的方式的,所以此处解析也要对照 System.Xml.Linq.XElement element = System.Xml.Linq.XElement.Parse( content ); IpAddress = element.Element( nameof( IpAddress ) ).Value; Port = int.Parse( element.Element( nameof( Port ) ).Value ); } public override void SaveToFile( ) { // 采用了des加密存储了数据 base.SaveToFile( m => HslCommunication.BasicFramework.SoftSecurity.MD5Encrypt( m, "12345678" ) ); } public override void LoadByFile( ) { // 采用了des加密解密了数据 base.LoadByFile( m => HslCommunication.BasicFramework.SoftSecurity.MD5Decrypt( m, "12345678" ) ); } // 这里就是我们实际需要存储和解析的属性了 /// <summary> /// IP地址数据 /// </summary> public string IpAddress { get; set; } /// <summary> /// 端口数据 /// </summary> public int Port { get; set; } }