private bool DetermineMethods()
{
var module = TypeDefinition.Module;
var registerPropertyWithDefaultValueInvokerMethod = FindRegisterPropertyMethod(TypeDefinition, true);
if (registerPropertyWithDefaultValueInvokerMethod == null)
{
return false;
}
RegisterPropertyWithDefaultValueInvoker = module.Import(registerPropertyWithDefaultValueInvokerMethod);
RegisterPropertyWithoutDefaultValueInvoker = module.Import(FindRegisterPropertyMethod(TypeDefinition, false));
GetValueInvoker = module.Import(RecursiveFindMethod(TypeDefinition, "GetValue", new[] { "property" }, true));
SetValueInvoker = module.Import(RecursiveFindMethod(TypeDefinition, "SetValue", new[] { "property", "value" }));
RaisePropertyChangedInvoker = module.Import(RecursiveFindMethod(TypeDefinition, "RaisePropertyChanged", new[] { "propertyName" }));
return true;
}