繁体   English   中英

C#通过DLL名称从dll获取类中的枚举

C# Get enum in class from dll by its name

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我一直在尝试做一个非常通用的枚举处理程序,并且我希望能够指定要与字符串一起使用的枚举。 通常,这不是问题,因为我知道如何根据其名称获取枚举。

我面临的问题是枚举位于类的dll文件中。 这是我通常将访问枚举的方式:

using ExampleDLL;

public void test() 
{
    //ExampleClass is from the ExampleDLL
    int value = ExampleClass.ExampleEnum.ExampleEnumerator;
}

但是在我的情况下,我不知道要使用ExampleClass中的哪个枚举,因此我需要能够在运行时通过其名称获取ExampleClass中的枚举。

所以,我的问题简而言之如下:如果它在不同的类中,我是否可以通过它的名字来获取枚举?

1 个回复

是。

public class MyClass
{
    public enum MyEnum
    {

    }
}

Type enu = typeof(MyClass).GetNestedType("MyEnum");

通过使用GetNestedType

请注意,然后必须通过反射使用它。

3 从dll中获取DLL的名称

如果我有一个名为“foo.dll”的dll,最终用户将其重命名为“bar.dll”。 在调用LoadLibrary之后,如何从我的dll中获取名称“bar.dll”? 是GetModuleFileName(hModule,buffer); ? ...

5 在C#中从DLL加载特定类

我只想从给定的dll加载某些类。 问题如下: 我有以下dll文件。 DLL 1: 命名空间: 1类 2级 DLL 2: 命名空间: 2级 3级 如上面的示例所示,我有2个甚至更多个具有相同类的dll是有可能发生的。 ...

6 从C#中的类创建dll

我有几个具有相同名称空间的类,我想将它们全部放入一个dll文件中,并在其他地方使用它。 我在Microsoft网站上阅读了该指南: http://msdn.microsoft.com/en-us/library/3707x96z(v=vs.80).aspx 他们建议: ...

7 dll和类之类的功能在C#中

我为考勤机创建了多个实用程序(例如Face Reader等),现在我在一个应用程序中完成了所有工作。 但是主要数据获取部分不同。 在这里我的问题是我有两种选择 通过为每个设备的主要功能创建“ dll” 通过创建类 上述功能还有其他选择吗 ...

8 从C#中的DLL访问类/方法

我有一个已编译的CPP DLL,并且试图在C#中访问其中的特定功能 这是我的DLL中的代码 base.cpp: https ://paste.privatecode.net/view/c513ec8f base.hpp https://paste.privatecode.net/view/af ...

2020-02-14 04:43:04 0 30   c#/ c++/ dll
10 在类C#的顶部使用(Matlab)dll名称

我在Visual Studio 2017(Framework 4.5.2)中创建了一个C#程序,该程序调用了我创建的2个不同的Matlab dll(makesquareproject.dll和Calibrationsgproject.dll)。 这两个dll都是使用Matlab库编译器(.NE ...

暂无
暂无

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

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