summaryrefslogtreecommitdiff
path: root/src/bindings
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2020-01-22 11:33:41 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2020-01-22 14:44:08 +0900
commit700d87b3709c5eeb6fa7a238b24ae93e6fad4d68 (patch)
treea98c44c84ff80044581bbe188267b73ec8f6bf1c /src/bindings
parentcade1b3c3ccacf9f47f5aeb366f5686eff232f6c (diff)
Revert "efl_mono: remove class ExtensionTag"
Extension Methods' classes have methods with same names and parameters. e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) Although the where clause contains different classes, they cannot be identified as different methods by C# compiler. e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Button e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Check As a result, to avoid ambiguous methods, ExtensionTag should be used as a second parameter of each method. e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Button, T>magic = null) where T : Efl.Ui.Button e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Check, T>magic = null) where T : Efl.Ui.Check This reverts commit 76631f502a8234c04ed8124bfdebe62ed5bdf954.
Diffstat (limited to 'src/bindings')
-rw-r--r--src/bindings/mono/efl_mono/Bind.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/bindings/mono/efl_mono/Bind.cs b/src/bindings/mono/efl_mono/Bind.cs
index 302f1dadd2..2a4fcbded5 100644
--- a/src/bindings/mono/efl_mono/Bind.cs
+++ b/src/bindings/mono/efl_mono/Bind.cs
@@ -148,6 +148,20 @@ public class BindableFactoryPart<T>
148 } 148 }
149} 149}
150 150
151namespace Csharp
152{
153
154/// <summary>Helper class to differentiate between factory extension methods.
155///
156/// For internal use only.</summary>
157[EditorBrowsable(EditorBrowsableState.Never)]
158public class ExtensionTag<TBase, TInherited>
159 where TInherited : TBase
160{
161}
162
163}
164
151} 165}
152 166
153#endif 167#endif