public void Register(IDslLanguageExtension dslExtension) { if (currentExtension == null) { foreach (MethodInfo method in dslExtension.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance)) { if(method.DeclaringType==typeof(object)) continue; string name = CreateMethodKey(method.Name, method.GetParameters()); extensionMethods.Add(name, method); } currentExtension = dslExtension; } }