Friday, November 20, 2009

Отличная статья Josh Smith о Model-View-ViewModel Design Pattern для WPF приложений

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Для ознакомления с базовыми вещами в WPF, у того же автора есть прекрасный гайд.

"A Guided Tour of WPF" - http://www.codeproject.com/KB/WPF/GuidedTourWPF_1.aspx





Thursday, April 30, 2009

Вызов статического метода через рефлексию из internal nested класса.

C#. Входные данные :
Есть сборка MyTest.dll
В ней есть такой класс ClassA:
using MyTest
{
    public class A
    {
        internal class B
        {
            internal static void DoSmth();
        }
    }
}

Решение:

//грузим dll-ку любым удобным вам способом:
Assembly assembly = Assembly.Load("Assembly text name, Version, Culture, PublicKeyToken");
Type[] types = assembly.GetType("MyTest.A").GetNestedTypes(BindingFlags.NonPublic);
Type targetType;
for (int i = 0; i < types.Length; i++)
{
    if (types[i].Name == "B")
    {
        targetType = types[i];
        break;
    }
}
BindingFlags bf = BindingFlags.Static | BindingFlags.NonPublic;
MethodInfo mi = targetType.GetMethod("DoSmth", bf);
//Так как метод статический, первым параметром в Invoke передаём null.
mi.Invoke(null, null);