本文整理汇总了C#中ResourcePath.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# ResourcePath.ToString方法的具体用法?C# ResourcePath.ToString怎么用?C# ResourcePath.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ResourcePath
的用法示例。
在下文中一共展示了ResourcePath.ToString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryGetBestMatchingIdentityForPath
/// <summary>
/// Tries to find the best matching <see cref="WindowsIdentityWrapper"/> for a given <see cref="ResourcePath"/>
/// </summary>
/// <param name="path"><see cref="ResourcePath"/> for which a <see cref="WindowsIdentityWrapper"/> is needed</param>
/// <param name="idWrapper"><see cref="WindowsIdentityWrapper"/> that matches best for <see cref="path"/></param>
/// <returns><c>true</c> if a <see cref="WindowsIdentityWrapper"/> was found; otherwise <c>false</c></returns>
/// <remarks>
/// Assuming the following credentials are registered:
/// - User1: {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/
/// - User2: {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/Directory_X/
/// This method returns the following results for the given <see cref="ResourcePath"/>s:
/// - User1 for {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/
/// - User1 for {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/Directory_Y/
/// - User2 for {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/Directory_X/
/// - User2 for {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_A/Directory_X/Subdirectory/
/// - null for {03dd2da6-4da8-4d3e-9e55-80e3165729a3}:////Computer/Share_B/
/// </remarks>
private bool TryGetBestMatchingIdentityForPath(ResourcePath path, out WindowsIdentityWrapper idWrapper)
{
idWrapper = null;
var pathLength = 0;
var pathString = path.ToString();
foreach (var kvp in _ids)
{
var keyString = kvp.Key.ToString();
if (!pathString.StartsWith(keyString))
continue;
var keyLength = keyString.Length;
if (keyLength <= pathLength)
continue;
pathLength = keyLength;
idWrapper = kvp.Value;
}
return (idWrapper != null);
}