private static bool IsValidProperty(SceneNode sceneNode, ReferenceStep referenceStep, IType targetPropertyType) { if (referenceStep.IsAttachable) { return(false); } IType type1 = targetPropertyType.NullableType ?? targetPropertyType; if (PlatformTypes.String.Equals((object)type1) || PlatformTypes.Object.Equals((object)type1)) { return(true); } IType type2 = referenceStep.PropertyType.NullableType ?? referenceStep.PropertyType; if (type1.IsAssignableFrom((ITypeId)type2)) { return(BindingPropertyHelper.IsPropertyValidBindingSource(sceneNode, referenceStep)); } return(false); }