diff options
Diffstat (limited to 'src/core/extensions')
| -rwxr-xr-x | src/core/extensions/Casting.cs | 2 | ||||
| -rwxr-xr-x | src/core/extensions/Dynamic.cs | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/core/extensions/Casting.cs b/src/core/extensions/Casting.cs index 24c12a6..03f6047 100755 --- a/src/core/extensions/Casting.cs +++ b/src/core/extensions/Casting.cs @@ -2,7 +2,7 @@ namespace core.extensions {
public static class Casting
{
- public static T DowncastTo<T>(this object item) where T : class
+ public static T downcast_to<T>(this object item) where T : class
{
return item as T;
}
diff --git a/src/core/extensions/Dynamic.cs b/src/core/extensions/Dynamic.cs index b08f7b1..df34945 100755 --- a/src/core/extensions/Dynamic.cs +++ b/src/core/extensions/Dynamic.cs @@ -6,7 +6,13 @@ namespace core.extensions {
public static void call_as<DynamicType>(this object target, Action<DynamicType> command) where DynamicType : class
{
- command(target.DowncastTo<DynamicType>());
+ target.downcast_to<DynamicType>().run(command);
+ }
+
+ public static void run<T>(this T target, Action<T> command)
+ {
+ if (null == target) return;
+ command(target);
}
}
}
\ No newline at end of file |
