Click here to Skip to main content
15,894,896 members
Articles / Desktop Programming / WPF

INotifyPropertyChanged - Automagically Implemented (Reloaded)

Rate me:
Please Sign up or sign in to vote.
4.83/5 (17 votes)
25 Nov 2011CPOL4 min read 52.9K   655   46  
Implement INotifyPropertyChanged and change verifying in model using a proxy generator
#region License

//
// Author: Einar Ingebrigtsen <einar@dolittle.com>
// Copyright (c) 2007-2010, DoLittle Studios
//
// Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
// you may not use this file except in compliance with the License.
// You may obtain a copy of the license at 
//
//   http://balder.codeplex.com/license
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#endregion

using System;

namespace Weaver
{
    /// <summary>
    /// Interface to abstract the System.Windows.Threading.Dispatcher
    /// </summary>
	public interface IDispatcher
	{
        /// <summary>
        /// Determines whether the calling thread is the thread associated with this Dispatcher. 
        /// </summary>
        /// <returns><c>true</c> if the calling thread is the thread associated with this Dispatcher; otherwise, <c>false</c></returns>
		bool CheckAccess();

        /// <summary>
        /// Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.
        /// </summary>
        /// <param name="del">The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.</param>
        /// <param name="arguments">An array of objects to pass as arguments to the given method. Can be null.</param>
		void BeginInvoke(Delegate del, params object[] arguments);

        /// <summary>
        /// Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.
        /// </summary>
        /// <param name="del">The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.</param>
        void BeginInvoke(Action a);
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer Fujitsu Canada
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions