public class MyClass
{
public void Function1()
{
//do stuff
}
public void Function2()
{
//do stuff
}
public void Function3()
{
//do stuff
}
}
public class KungFoo
{
public KungFoo(MyClass paramClass)
{
if (true)
{
var o = paramClass.GetType().InvokeMember("Function1", BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.SetProperty, Nothing, obj, New [Object]() {0})
}
}
}
//view more here
//http://msdn.microsoft.com/en-us/library/system.type.invokemember(VS.71).aspx
class AccessFunctions
{
static Dictionary<string, Delegate> functionList;
static AccessFunctions()
{
functionList = new Dictionary<string, Delegate>();
functionList.Add("Function1", AccessFunctions.Function1);
}
// A sample test function
public static bool Function1(UserClass user)
{
return user.LastName.StartsWith("S");
}
}
// would want to use later from another class as AccessFunctions.functionList["function1"] and send in the currentUser
class AccessFunctions
{
private static delegate bool AccessFunction(UserClass user);
static Dictionary<string, Delegate> functionList;
static AccessFunctions()
{
functionList = new Dictionary<string, Delegate>();
functionList.Add("Function1", new AccessFunction(Function1));
}
// A sample test function
public static bool Function1(UserClass user)
{
return user.LastName.StartsWith("S");
}
}
class AccessFunctions
{
internal delegate bool AccessFunction(UserClass user);
static Dictionary<string, AccessFunction> functionList;
static AccessFunctions()
{
functionList = new Dictionary<string, AccessFunction>();
functionList.Add("Function1", new AccessFunction(Function1));
}
// A sample test function
public static bool Function1(UserClass user)
{
return user.LastName.StartsWith("S");
}
}
Open in new window