本文整理汇总了C#中HierarchyNode.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# HierarchyNode.Dispose方法的具体用法?C# HierarchyNode.Dispose怎么用?C# HierarchyNode.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HierarchyNode
的用法示例。
在下文中一共展示了HierarchyNode.Dispose方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EditValue
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
if (provider == null)
{
return string.Empty;
}
IVsSolution vsSolution = (IVsSolution)ServiceHelper.GetService(provider, typeof(IVsSolution), this);
HierarchyNode root = new HierarchyNode(vsSolution);
HierarchyNode currentValue = null;
if (value == null)
{
value = Guid.Empty;
}
try
{
VSShellHelper.SetWaitCursor(provider);
if (!string.IsNullOrWhiteSpace(value.ToString()))
{
currentValue = new HierarchyNode(vsSolution, value.ToString());
}
using (HierarchyNode newValue = EditValue(provider, root, currentValue))
{
if (newValue != null)
{
return newValue.UniqueName;
}
}
}
//Thrown if Project doesn't exist on solution
catch (InvalidOperationException) { }
//Thrown if Project doesn't exist on solution
catch (COMException) { }
catch (ServiceMissingException) { throw ;}
catch (Exception e)
{
VSShellHelper.ShowErrorDialog(provider, e.Message);
}
finally
{
if (root != null)
root.Dispose();
if (currentValue != null)
currentValue.Dispose();
}
return string.Empty;
}