【问题标题】:Get the fully qualified name of a class?获取类的完全限定名?
【发布时间】:2012-11-03 00:09:12
【问题描述】:

所有,我有一个 log4net 实现,我正在尝试使用AdoNetAppender,但appender 配置的子元素之一是connectionType,它需要一个完全限定的类名,如System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089(以文档为例)。

但是,它无法加载该应用程序,因为这是一个 .NET4 MVC 应用程序。有人可以告诉我如何获得该完全限定名称,以便加载类型并连接到数据库吗?老实说,我已经尝试了所有我能想到的。

【问题讨论】:

    标签: c# .net asp.net-mvc-4 log4net


    【解决方案1】:

    我不确定您需要什么类型,但您可以在代码中使用它来获取类型的完全限定名称。

    string fullyQualifiedName = typeof(MyType).AssemblyQualifiedName;
    

    【讨论】:

    • 这实际上是我能做的最好的。我终于找到了另一种方法,当应用程序加载时,输出窗口会列出所有加载的程序集的完全限定名称,您也可以从那里复制它(尽管不是直接导致它采用不同的格式)。
    • 有没有在编译时获得这个?我希望 nameof() 可以帮助。
    • 就我而言,这对我有用。 typeof(string).UnderlyingSystemType.FullName
    • 可以,如果只需要命名空间+类名,使用Dblock247建议的FullName,而不是AssemblyQualifiedName
    猜你喜欢
    • 2021-03-25
    • 2014-06-04
    • 1970-01-01
    • 2021-11-30
    • 2016-09-30
    • 1970-01-01
    • 2020-11-12
    • 2011-01-02
    • 2013-11-21
    相关资源
    最近更新 更多