繁体   English   中英

如何从完整的程序集字符串中获取程序集名称?

[英]How do I get Assembly name from full assembly string?

我有一个这样的字符串:

"MyProduct.Framework.Business.ShopBusiness"

但是它自己的程序集名称只是:

"MyProduct.Framework.Business"

我需要创建一个这样的字符串:

"MyProduct.Framework.Business.ShopBusiness, MyProduct.Framework.Business"

因为我正在尝试解决这个问题: https : //stackoverflow.com/a/3512351/375422

所以基本上我有这个:

Type executingClass = Type.GetType(TestContext.FullyQualifiedTestClassName);

我需要这样的东西:

Type executingClass = Type.GetType(TestContext.FullyQualifiedTestClassName + ", " + Assembly.FromString(TestContext.FullyQualifiedTestClassName));

我在上面发明了“Assembly.FromString()”,是否有任何内置方法?

换句话说:如何从 TestContext 获取执行测试的程序集名称?

类名称空间和程序集名称之间没有直接联系。 因此,通常不可能仅从类名中获得完全限定的名称。

找到最后一个“.”的位置和子串到那个位置。

var fullTypeName = "MyProduct.Framework.Business.ShopBusiness";
var typeIndex = assemblyTypeName.LastIndexOf(".");
var namespace = assemblyTypeName.Substring(0, assemblyIndex);

然后添加您的命名空间:

var assemblyQualifiedTypeName = fullTypeName + ", " + namespace

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM