首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c#如何从PropertyInfo获取base.Name

在 C# 中,PropertyInfo 类可以用于获取属性的元数据。要从 PropertyInfo 获取基类的属性名称,可以使用 PropertyInfo.DeclaringType 属性来获取声明该属性的类型,然后使用 Type.BaseType 属性来获取基类。以下是一个示例:

代码语言:csharp
复制
using System;
using System.Reflection;

class BaseClass
{
    public string BaseProperty { get; set; }
}

class DerivedClass : BaseClass
{
    public string DerivedProperty { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        PropertyInfo derivedPropertyInfo = typeof(DerivedClass).GetProperty(nameof(DerivedClass.DerivedProperty));
        PropertyInfo basePropertyInfo = typeof(BaseClass).GetProperty(nameof(BaseClass.BaseProperty));

        Console.WriteLine($"Derived property name: {derivedPropertyInfo.Name}");
        Console.WriteLine($"Base property name: {basePropertyInfo.Name}");
    }
}

在这个示例中,我们首先获取了 DerivedClass 类的 DerivedProperty 属性的 PropertyInfo 对象,然后获取了 BaseClass 类的 BaseProperty 属性的 PropertyInfo 对象。最后,我们分别输出了这两个属性的名称。

需要注意的是,这个示例中的 PropertyInfo.Name 属性返回的是属性的名称,而不是属性的完整名称(包括命名空间和类型名称)。如果需要获取完整的属性名称,可以使用 PropertyInfo.DeclaringType.FullName 属性来获取声明该属性的类型的完整名称,然后将属性名称与之连接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何Facebook获取流量?

我认为有一点非常重要 - 像我们这样的营销人员应该理解统计数据是如何工作的,尤其是具有代表性的数据。...我认为这个统计非常有意义,假设你是一个更多依赖于社交媒体的网站,而你社交媒体获得的的流量不到20%,甚至低于15%,那么你可能有一些工作要做,以获得更多机会。...其中一个你可能听说过是Buzzfeed,去年他们发表了一个长篇大论,关于他们如何社交媒体获得70%以上流量,并声称他们不关心搜索,认为搜索优化毫无用处,现在没有人做SEO了,如此等等。...因此,性能(Performance)和交互度(Engagement)的角度来衡量,Facebook的流量属于较低层次。...04 第四点,吸引初次点击的角度来分析,标题往往比内容更为关键。

5K40

dotnet C# 如何正确获取藏文的字数

但是多个字符在内存中,本身就是多个字符对象,以往统计某个字符串的字数,咱简单判断只是拿字符串的字符数量进行获取。...藏文的一个字由多个字符组成,因此需要本文介绍的特别的方法 先给大家来一个简单的藏文字 དིོེུ 这个字其实是由 ད + ུ + ི + ོ + ེ 这几个字符组成的 用 string.Length 获取到的...好在 .NET 里面提供的权威的获取方法,通过 StringInfo 类的辅助,可以获取可视效果下的字符串的字数 var info = new StringInfo("དིོེུ"); var realLength...= info.LengthInTextElements; // realLength = 1 通过此即可获取正确的字符长度 额外的,如果想要枚举一个藏文句子的每个藏文的字。

70910

python如何键盘获取输入实例

python中使用input()函数来获取用户输入 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用。...me your name,and I will repeat it back to you:") print(name) 函数 input() 接收一个参数,就是要想用户展示的提示或说明,让用户知道该如何做...print("age = 18") else : print("age < 18") 知识点扩充: Python读取键盘输入 raw_input函数 raw_input([prompt]) 函数标准输入读取一个行.../usr/bin/python str = input("Enter your input: "); print "Received input is : ", str 到此这篇关于python如何键盘获取输入实例的文章就介绍到这了...,更多相关python怎么键盘获取输入内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

4.7K20

C#中的反射解析及使用.

1、对C#反射机制的理解 2、概念理解后,必须找到方法去完成,给出管理的主要语法 3、最终给出实用的例子,反射出来dll中的方法 参考: C#反射,MSDN编程指南 反射是一个程序集发现及运行的过程,通过反射可以得到...("Name"); //获取Name属性对象 5 var name=propertyInfo.GetValue(obj,null); //获取Name属性的值 6 PropertyInfo...propertyInfo2=obj.GetProperty("Age"); //获取Age属性对象 7 propertyInfo.SetValue(obj,34,null);...propertyInfo=type.GetProperty("Name"); //获取Example类的Name属性 11 foreach (object attribute in propertyInfo.GetCustomAttributes...2,Assembly.LoadFrom()     这个方法指定的路径来加载程序集,实际上这个方法被调用的时候,CLR会打开这个文件,获取其中的程序集版本,语言文化,公钥标记等信息,把他们传递给 Load

2K140

如何把一个json字符串,转成C#动态类?

本周在做接口动态传参的时候思考了个问题:如何把一个json字符串,转成C#动态类?...打印如下: userId: 100 id: 1 title: hello world completed: False 而obj2则是System.Dynamic.ExpandoObject类型的对象,而且初始化到对象生命周期结束...我们对obj2运行同样的代码,发现会报错 Type t = obj2.GetType(); PropertyInfo[] pi = t.GetProperties(); foreach (PropertyInfo...所以本质上内存中同一个对象不会平白无故int类型转换为string。毕竟C#不能像其他弱类型语言那样使用。 obj1匿名类的成员变量是只读的。...动态类型如何用? 现在我们来回答“如何把一个json字符串,转成C#动态类”这个问题,答案是做不到。

22920

【干货】C#根据类生成签名字符串(附DEMO下载地址)

现在第三方支付的接口签名机制都是模仿微信签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,前两天因为做Delphi的接口,所以写了一篇《Delphi对TStrings进行排序》,这次我们写一个C#...核心代码 ---- /// /// 获取签名 /// /// <typeparam name="T...(这个的用法我们就不在这介绍了,大家可以搜一下),其实 <em>PropertyInfo</em>里的Name就是我们的类里属性的名称,GetValue就是我们<em>获取</em>的属性的值。...代码里的实现步骤: 定义生成的List(new List()) 把传入进来的泛型类的属性生数组,然后再插入到我们的List里面(List.add(...)) 根据输入的参数进行List属性名的排序(List.Orderby()) 遍历我们的Listr属性和值进行字符串的拼接(List.Foreach()) 输出字符串 代码编写 我们新建好一个<em>C#</em>的Winform

92220

C#语法——反射,架构师的入门基础。

有兴趣是好事,但就算知道了反射的本质,了解了反射是如何设计的,你技术也没什么质的改变。因为,技术水平最终还是要落实到应用上。...可以使用反射动态创建类型的实例,将类型绑定到现有对象,或现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。 看不懂?...GetPropertyValue函数里通过使用PropertyInfo完成了反射。 有的同学可能会觉得,这个很鸡肋,既然已经得到对象,还反射做什么,直接获取就可以了呀。...至于如何实现反射赋值,相信大家可以举一反三。...C#语法——元组类型 C#语法——泛型的多种应用 C#语法——await与async的正确打开方式 C#语法——委托,架构的血液 C#语法——事件,逐渐边缘化的大哥。

17130

如何获取 C# 类中发生数据变化的属性信息

虽然这里已经达到我们的目的,但是如果采用这种方式的话,相当于原先项目中需要实现数据记录功能的类的属性声明方式全部需要重写,同时,基于 C# 本身已经提供了自动属性的方式来简化属性声明,结果现在我们又回到了传统属性的声明方式...因此,既然通过一个个属性进行比较的方式过于繁琐,这里我们通过反射的方式直接对比修改前后的两个实体类,批量获取发生数据变更的属性信息。...我们最终想要实现的是用户可以看到关于某个表单的字段属性数据变化的过程,而我们定义在 C# 类中的属性有时候需要与实际页面上显示的字段名称进行映射,以及某些属性其实没有必要记录数据变化的情况,这里我通过添加自定义特性的方式...// IList properties = new List(); // PropertyChangeTracking...我们运行的示意图中可以看到,虽然两个类实例的 Id 属性值不同,但是因为被我们手动忽略了,所以最终只显示我们设定的几个属性的变化信息。

3.3K40
领券