本文整理汇总了C#中IObserver.GetPathMembers方法的典型用法代码示例。如果您正苦于以下问题:C# IObserver.GetPathMembers方法的具体用法?C# IObserver.GetPathMembers怎么用?C# IObserver.GetPathMembers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IObserver
的用法示例。
在下文中一共展示了IObserver.GetPathMembers方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetDefaultValue
private void SetDefaultValue(IObserver source)
{
var pathMembers = source.GetPathMembers(false);
if (pathMembers.AllMembersAvailable)
{
object value = _value;
if (!pathMembers.LastMember.Type.IsInstanceOfType(value))
value = pathMembers.LastMember.Type.GetDefaultValue();
pathMembers.LastMember.SetValue(pathMembers.PenultimateValue, new[] { value });
}
}
示例2: CollectErrors
private void CollectErrors(ref List<object> errors, IObserver bindingSource)
{
var notifyDataErrorInfo = bindingSource.GetPathMembers(false).PenultimateValue as INotifyDataErrorInfo;
if (notifyDataErrorInfo == null)
return;
var path = bindingSource.Path.Parts.LastOrDefault();
var paths = ErrorPaths;
if (!string.IsNullOrEmpty(path) || paths == null || paths.Length == 0)
CollectErrors(notifyDataErrorInfo, path, ref errors);
if (paths != null)
{
for (int i = 0; i < paths.Length; i++)
CollectErrors(notifyDataErrorInfo, paths[i], ref errors);
}
}
示例3: TrySubscribe
private void TrySubscribe(IObserver source)
{
var dataErrorInfo = source.GetPathMembers(false).PenultimateValue as INotifyDataErrorInfo;
if (dataErrorInfo == null)
return;
var subscriber = BindingServiceProvider.WeakEventManager.TrySubscribe(dataErrorInfo, ErrorsChangedEvent, this);
if (subscriber != null)
_subscribers.Add(subscriber);
}