gpt4 book ai didi

c# - 如何获取类(class)名称

转载 作者:行者123 更新时间:2023-11-30 13:18:41 26 4
gpt4 key购买 nike

好的,我有以下结构。基本上是一个插件架构

// assembly 1 - Base Class which contains the contract
public class BaseEntity {
public string MyName() {
// figure out the name of the deriving class
// perhaps via reflection
}
}

// assembly 2 - contains plugins based on the Base Class
public class BlueEntity : BaseEntity {}
public class YellowEntity : BaseEntity {}
public class GreenEntity : BaseEntity {}


// main console app
List<BaseEntity> plugins = Factory.GetMePluginList();

foreach (BaseEntity be in plugins) {
Console.WriteLine(be.MyName);
}

我要声明

be.MyName

告诉我对象是 BlueEntity、YellowEntity 还是 GreenEntity。重要的是 MyName 属性应该在基类中,因为我不想在每个插件中重新实现该属性。

这在 C# 中可行吗?

最佳答案

我认为您可以通过 GetType 来完成:

public class BaseEntity {
public string MyName() {
return this.GetType().Name
}
}

关于c# - 如何获取类(class)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com