// // Copyright (c) Microsoft Corporation. All rights reserved. // namespace Microsoft.Activities.Presentation.Xaml { using System; internal class XamlNamespaceHelper { internal const string ClrNamespacePrefix = "clr-namespace:"; internal const string ClrNamespaceAssemblyField = ";assembly="; internal static bool TryParseClrNsUri(string xamlNamespace, out string clrNamespace, out string assembly) { clrNamespace = null; assembly = null; if (!xamlNamespace.StartsWith(ClrNamespacePrefix, StringComparison.Ordinal)) { return false; } int clrNsIndex = ClrNamespacePrefix.Length; int assemblyIndex = xamlNamespace.IndexOf(ClrNamespaceAssemblyField, StringComparison.Ordinal); if (assemblyIndex < clrNsIndex) { clrNamespace = xamlNamespace.Substring(clrNsIndex); return true; } clrNamespace = xamlNamespace.Substring(clrNsIndex, assemblyIndex - clrNsIndex); assemblyIndex += ClrNamespaceAssemblyField.Length; assembly = xamlNamespace.Substring(assemblyIndex); return true; } } }