ExtensionMethods Class

/// <summary>
		/// Generic Enum.Parse implementation.
		/// </summary>
		/// <typeparam name="TEnum">The enumeration type to parse to.</typeparam>
		/// <param name="strEnumValue">String value to parse.</param>
		/// <param name="defaultValue">Default value when conversion fails.</param>
		/// <returns>The parsed result or the default provided when parsing failed.</returns>
		public static TEnum ToEnum<TEnum>(this string strEnumValue, TEnum defaultValue)
		{
			if (!Enum.IsDefined(typeof(TEnum), strEnumValue))
				return defaultValue;
 
			return (TEnum)Enum.Parse(typeof(TEnum), strEnumValue);
		}
 
 
		/// <summary>
		/// Invoke passed in action synchronously on the GUI thread of this item. 
		/// </summary>
		/// <param name="me">The control.</param>
		/// <param name="action">Action that will be performed on the GUI thread.</param>
		public static void InvokeOnGui(this Control me, Action action)
		{
			if (me.InvokeRequired)
				me.Invoke(action);
			else
				action();
		}
 
		/// <summary>
		/// Invoke passed in action asynchronously on the GUI thread of this item.  Note: If this method is called
		/// on the GUI thread, the action will be performed synchronously. If it is called from another thread, it
		/// is invoked asynchronoulsly.
		/// </summary>
		/// <param name="me">The control.</param>
		/// <param name="action">Action that will be performed on the GUI thread.</param>
		public static void BeginInvokeOnGui(this Control me, Action action)
		{
			if (me.InvokeRequired)
				me.BeginInvoke(action);
			else
				action();
		}

转载于:https://www.cnblogs.com/zhangchenliang/archive/2013/05/25/3098400.html

猜你喜欢

转载自blog.csdn.net/weixin_33858485/article/details/93495387
今日推荐