GS.Dll
XDocExtension
XML, xDoc file
Create Strings for
TypeInString = Namespace.NameOfType, AssemblyName
Type = Type.GetType(TypeInString, false, true);
//Different Types, but interface is one
public static IEnumerable<string> GetTypeNameStrListEnumerable(string uri, string nodePath, string namesp)
{
var xdoc = XDocument.Load(uri);
var node = xdoc.Element(nodePath);
var nodeNamespace = node?.Attribute("ns")?.Value ?? namesp;
if (node == null) yield break;
if (!node.HasElements) yield break;
foreach (var n in node.Elements())
{
// var ns = n.Attribute("ns")?.Value ?? namesp;
var ns = n.Attribute("ns")?.Value ?? nodeNamespace;
var str = ns + '.' + n.Name.ToString().Trim();
yield return str;
}
}
public static IEnumerable<string> GetTypeNameStrListEnumerable(string uri, string nodePath,
string namesp, string assemblyName)
{
var xdoc = XDocument.Load(uri);
var node = xdoc.Element(nodePath);
if (node == null) yield break;
if (!node.HasElements) yield break;
var nodeNamespace = node.Attribute("ns")?.Value ?? namesp;
var asmName = node.Attribute("as")?.Value ?? assemblyName;
foreach (var n in node.Elements())
{
var ns = n.Attribute("ns")?.Value ?? nodeNamespace;
var asm = n.Attribute("as")?.Value ?? asmName;
var str = ns + '.' + n.Name.ToString().Trim() + ", " + asm;
yield return str;
}
}
}
Комментариев нет:
Отправить комментарий