Revert "[NUI] Refactoring Theme and StyleManager (#1981)" (#2013)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / Style / Selector.cs
index 2147223..ebf5b1f 100755 (executable)
@@ -24,13 +24,13 @@ namespace Tizen.NUI.BaseComponents
     /// <summary>
     /// Selector class, which is related by Control State, it is base class for other Selector.
     /// </summary>
-    /// <typeparam name="T">The property type of the selector. if it's reference type, it should be of type <see cref="ICloneable"/> that implement deep copy in <see cref="ICloneable.Clone"/>.</typeparam>
     /// <since_tizen> 6 </since_tizen>
     /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class Selector<T> : StateValueCollection<T>
     {
-        private readonly bool isCloneable = typeof(ICloneable).IsAssignableFrom(typeof(T));
+        private readonly bool cloneable = typeof(T).IsAssignableFrom(typeof(ICloneable));
+
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         public static implicit operator Selector<T>(T value)
@@ -48,7 +48,7 @@ namespace Tizen.NUI.BaseComponents
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector(T value) : this()
         {
-            All = isCloneable ? (T)((ICloneable)value)?.Clone() : value;
+            All = cloneable ? (T)((ICloneable)value)?.Clone() : value;
         }
 
         /// Copy constructor
@@ -58,6 +58,7 @@ namespace Tizen.NUI.BaseComponents
             Clone(value);
         }
 
+
         /// <summary>
         /// All State.
         /// </summary>
@@ -237,7 +238,7 @@ namespace Tizen.NUI.BaseComponents
 
         /// <summary>
         /// Clone itself.
-        /// If type T implements ISelectorItem, it calls Clone() method to clone values, otherwise use operator=.
+        /// If type T implements ICloneable, it calls Clone() method to clone values, otherwise use operator=.
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
@@ -257,7 +258,7 @@ namespace Tizen.NUI.BaseComponents
         {
             Clear();
 
-            if (isCloneable)
+            if (cloneable)
             {
                 All = (T)((ICloneable)other.All)?.Clone();
                 foreach (var item in other.StateValueList)