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

C#如何通过字符串获取对象属性?

在C#中,可以通过反射来实现通过字符串获取对象属性的操作。下面是一个示例代码:

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

public class MyClass
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        MyClass myObject = new MyClass();
        myObject.Name = "John";
        myObject.Age = 25;

        string propertyName = "Name";
        object propertyValue = GetPropertyValue(myObject, propertyName);

        Console.WriteLine($"The value of {propertyName} is {propertyValue}");
    }

    public static object GetPropertyValue(object obj, string propertyName)
    {
        Type type = obj.GetType();
        PropertyInfo propertyInfo = type.GetProperty(propertyName);
        return propertyInfo.GetValue(obj);
    }
}

在上面的示例中,我们定义了一个MyClass类,其中包含了NameAge两个属性。在Main方法中,我们创建了一个MyClass对象,并给属性赋值。然后,我们定义了一个字符串propertyName,表示要获取的属性名。通过调用GetPropertyValue方法,传入对象和属性名,即可获取到对应属性的值。

GetPropertyValue方法中,我们首先使用GetType方法获取对象的类型,然后使用GetProperty方法根据属性名获取到对应的PropertyInfo对象。最后,通过调用GetValue方法获取属性的值,并返回给调用者。

这种通过字符串获取对象属性的方法在某些场景下非常有用,比如动态配置属性、根据用户输入获取属性值等。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(TBC):https://cloud.tencent.com/product/tbc
  • 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分43秒

Java零基础-367-通过反射获取注解对象属性的值

16分0秒

Java零基础-349-通过反射机制访问对象属性

11分38秒

Java零基础-339-通过读属性文件实例化对象

14分23秒

Web前端入门教程 77 JavaScript基础 49 通过CSS选择器获取对象 学习猿地

6分9秒

Elastic 5分钟教程:使用EQL获取威胁情报并搜索攻击行为

50分51秒

雁栖学堂--数据湖直播第七期

18分41秒

041.go的结构体的json序列化

27分3秒

模型评估简介

20分30秒

特征选择

3分59秒

基于深度强化学习的机器人在多行人环境中的避障实验

2分7秒

基于深度强化学习的机械臂位置感知抓取任务

16分8秒

人工智能新途-用路由器集群模仿神经元集群

领券