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

如何使用C#中的变量调用对象的属性,例如customer.&fieldName

在C#中,可以使用反射来实现使用变量名来调用对象的属性。以下是一个示例代码:

代码语言:csharp
复制
using System;

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

public class Program
{
    public static void Main()
    {
        Customer customer = new Customer { Name = "John", Age = 30 };
        string fieldName = "Name";

        Type customerType = customer.GetType();
        PropertyInfo propertyInfo = customerType.GetProperty(fieldName);
        object value = propertyInfo.GetValue(customer, null);

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

在这个示例中,我们创建了一个名为Customer的类,该类具有NameAge属性。我们创建了一个Customer对象,并创建了一个字符串变量fieldName,该变量的值为"Name"

接下来,我们使用GetType()方法获取Customer对象的类型,并使用GetProperty()方法获取fieldName对应的属性信息。然后,我们使用GetValue()方法获取该属性的值,并将其输出到控制台。

这种方法可以用于任何对象和属性,只需将CustomerfieldName替换为您自己的类和属性名称即可。

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

相关·内容

  • C#调用GDI+1.1中的函数实现高斯模糊、USM锐化等经典效果。

    在GDI+1.1的版本中,MS加入不少新的特性,其中的特效类Effect就是一个很有吸引力的东西,可惜在VS2010的Image类中,却没有把这个类封装进来(不晓得是不是我没有发现),这个也许MS也有自己的考虑的,毕竟要使用这些函数,必须要求系统是Windows Vista及其以上,而XP的市场占有率在那个时候还比较高的。 不过,作为一种选择,我们有义务把这些函数给哪些已经按照了这些最新系统的客户使用。 其实,这些函数我在VB6下两年前就已经调用过,调用的方式也很简单明了,现在,在学习C#,就要考虑如何将他们封装入C#中。虽然哪些算法的更底层(像素级别的处理实现)实现在很早之前就已经实现,但是能够直接调用现有的函数对于不少朋友来说还是一件很幸福的事情的。 实现这个功能的第一步就是要找到这些函数的声明,这个在MSDN上有C风格的声明,改成C#语言的大部分都不成问题,参考 http://msdn.microsoft.com/en-us/library/ms533971(VS.85).aspx 例如,这个

    04

    类图中的关系

    关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。

    02
    领券