nicko 2004/08/19 14:32:23
Modified: tests/src Utils.cs
Log:
Added more utility methods
Revision Changes Path
1.3 +30 -0 logging-log4net/tests/src/Utils.cs
Index: Utils.cs
===================================================================
RCS file: /home/cvs/logging-log4net/tests/src/Utils.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Utils.cs 27 Feb 2004 13:03:38 -0000 1.2
+++ Utils.cs 19 Aug 2004 21:32:23 -0000 1.3
@@ -30,6 +30,16 @@
{
}
+ public static object CreateInstance(string targetType)
+ {
+ return CreateInstance(Type.GetType(targetType, true,
true));
+ }
+
+ public static object CreateInstance(Type targetType)
+ {
+ return
targetType.GetConstructor(BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance,
null, new Type[0], null).Invoke(null);
+ }
+
public static object InvokeMethod(object target, string name,
params object[] args)
{
return target.GetType().GetMethod(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance,
null, GetTypesArray(args), null).Invoke(target, args);
@@ -48,6 +58,26 @@
public static void SetField(object target, string name, object
val)
{
target.GetType().GetField(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance).SetValue(target,
val);
+ }
+
+ public static object GetProperty(object target, string name)
+ {
+ return target.GetType().GetProperty(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance).GetValue(target,
null);
+ }
+
+ public static void SetProperty(object target, string name,
object val)
+ {
+ target.GetType().GetProperty(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance).SetValue(target,
val, null);
+ }
+
+ public static object GetProperty(object target, string name,
params object[] index)
+ {
+ return target.GetType().GetProperty(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance).GetValue(target,
index);
+ }
+
+ public static void SetProperty(object target, string name,
object val, params object[] index)
+ {
+ target.GetType().GetProperty(name,
BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance).SetValue(target,
val, index);
}
private static Type[] GetTypesArray(object[] args)