Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从扩展类名的类获取类名_C# - Fatal编程技术网

C# 从扩展类名的类获取类名

C# 从扩展类名的类获取类名,c#,C#,我有一节这样的课 public class BaseClass { public string Request { get; set;} } 我的课是这样的: public class ExtendClass : BaseClass { } 因此,实际上,属性请求将始终使用ExtendClass的名称进行设置。所以它实际上是Request=“ExtendClass” 我有许多扩展基类的类。我知道我可以将字符串传递给它,但这样做可行吗?您可以使用它,它将始终返

我有一节这样的课

public class BaseClass
    {
        public string Request { get; set;}
    }
我的课是这样的:

public class ExtendClass : BaseClass
{

}
因此,实际上,属性请求将始终使用ExtendClass的名称进行设置。所以它实际上是
Request=“ExtendClass”

我有许多扩展基类的类。我知道我可以将字符串传递给它,但这样做可行吗?

您可以使用它,它将始终返回层次结构顶部的类型(因此最后一个派生类):


将返回不带命名空间的短类型名。如果你也想要,你应该使用。

你有多种选择。例如,可以使用反射:

public string Request { get {return this.GetType().Name; }}
或者可以使用抽象属性使其更显式(这样不仅可以指定类名):


详细说明这个问题。是否希望每次创建扩展类时都应设置Request=“ExtendClass”?完全不清楚您在寻找什么,您希望在调用继承基类的任何子类时设置Request属性,例如在调用ExtendedClass时,您应该能够设置Request属性。您可以在视图中使用构造函数it@blueboyz这种方法不适合你吗?
public string Request { get {return this.GetType().Name; }}
public abstract class BaseClass
{
    public abstract string Request { get; }
}
class ExtendClass : BaseClass
{
    public override string Request { get {return "ExtendClass"; } }
}