Interfaces.cs
author Thomas
Mon, 25 Mar 2019 13:27:16 +0100
branchsync
changeset 2610 09fde2338362
parent 1444 2458d5d2d562
permissions -rw-r--r--
Merge with default

´╗┐namespace pEp
{
    /// <summary>
    /// Class to contain all interface definitions.
    /// </summary>
    internal static class Interfaces
    {
        /// <summary>
        /// Interface to support deep copy of objects.
        /// </summary>
        public interface ICopy<T>
        {
            /// <summary>
            /// Gets a deep copy of the object and all its data.
            /// </summary>
            /// <returns>The deep copy of the object.</returns>
            T Copy(); 
        }

        /// <summary>
        /// Interface to support resetting an object to its default state/values.
        /// </summary>
        public interface IReset
        {
            /// <summary>
            /// Resets the object to its default state/values.
            /// </summary>
            void Reset();
        }
    }
}