gpt4 book ai didi

c# - 如何在 C# 中迭代​​对象的所有属性?

转载 作者:太空狗 更新时间:2023-10-29 17:33:00 26 4
gpt4 key购买 nike

我是 C# 的新手,我想编写一个函数来遍历对象的属性并将所有空字符串设置为“”。我听说可以使用一种叫做“反射”的东西,但我不知道怎么做。

谢谢

最佳答案

public class Foo
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public int Prop3 { get; set; }
}

class Program
{
static void Main(string[] args)
{
var foo = new Foo();

// Use reflection to get all string properties
// that have getters and setters
var properties = from p in typeof(Foo).GetProperties()
where p.PropertyType == typeof(string) &&
p.CanRead &&
p.CanWrite
select p;

foreach (var property in properties)
{
var value = (string)property.GetValue(foo, null);
if (value == null)
{
property.SetValue(foo, string.Empty, null);
}
}

// at this stage foo should no longer have null string properties
}
}

关于c# - 如何在 C# 中迭代​​对象的所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4291059/

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