⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 persistentstring.cs

📁 Perst开源实时数据库
💻 CS
字号:
namespace Perst
{
	/// <summary>
	/// Class encapsulating native .Net string. System.String is not persistent object
	/// so it can not be stored in Perst as independent persistent object. 
	/// But sometimes it is needed. This class sole this problem providing implcit conversion
	/// operator from System.String to PerisstentString.
	/// Also PersistentString class is mutable, allowing to change it's values.
	/// </summary>
	public class PersistentString : PersistentResource
	{
        /// <summary>
        /// Consutrctor of perisstent string
        /// </summary>
        /// <param name="str">.Net string</param>
		public PersistentString(string str)
		{
            this.str = str;
        }

        /// <summary>
        /// Get .Net string
        /// </summary>
        /// <returns>.Net string</returns>
        public override string ToString() 
        {
            return str;
        }

        /// <summary>
        /// Append string to the current string value of PersistentString
        /// </summary>
        /// <param name="tail">appended string</param>
        public void Append(string tail) 
        {
            Modify();
            str = str + tail;
        }

        /// <summary>
        /// Assign new string value to the PersistentString
        /// </summary>
        /// <param name="str">new string value</param>
        public void Set(string str)
        {
            Modify();
            this.str = str;
        }
    
        /// <summary>
        /// Get current string value
        /// </summary>
        /// <returns>.Net string</returns>
        public string Get() 
        {
            return str;
        }

        /// <summary>
        /// Operator for implicit convertsion from System.String to PersistentString
        /// </summary>
        /// <param name="str">.Net string</param>
        /// <returns>PersistentString</returns>
        public static implicit operator PersistentString(string str) 
        {
            return new PersistentString(str);
        }

        /// <summary>
        /// Operator for implicit convertsion from PersistentString to System.String
        /// </summary>
        /// <param name="str">PersistentString</param>
        /// <returns>.Net string</returns>
        public static implicit operator string(PersistentString str) 
        {
            return str.ToString();
        }

        private string str;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -