相关疑难解决方法(0)

System.Reflection GetProperties方法不返回值

有人可以向我解释为什么GetProperties如果类设置如下,该方法不会返回公共值.

public class DocumentA
{
    public string AgencyNumber = string.Empty;
    public bool Description;
    public bool Establishment;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置一个简单的单元测试方法来玩

该方法如下,它具有所有适当的使用语句和引用.

我正在做的就是调用以下内容,但它返回0

PropertyInfo[] pi = target.GetProperties(BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用私有成员和公共属性设置类,它可以正常工作.

我没有按照旧学校方式设置课程的原因是因为它有61个属性并且这样做会增加我的代码行数至少三倍.我会成为维护的噩梦.

.net c# reflection

24
推荐指数
1
解决办法
1万
查看次数

返回类的所有属性,不为 null c#

我一直在寻找并发现这描述了如果值为 null 则返回 bool。我使用的代码来自此片段 Client client = new Client{ FirstName = "James"};

client.GetType().GetProperties()
.Where(pi => pi.GetValue(client) is string)
.Select(pi => (string) pi.GetValue(client))
.Any(value => string.IsNullOrEmpty(value));
Run Code Online (Sandbox Code Playgroud)

但我不想返回值是否为空(bool)的情况,而是想检索所有不为空的属性值。

我尝试更改代码,但没有成功。

非常感谢

编辑

public class Client
{
   public string FirstName { get; set; }
   public string LastName { get; set; }
   //...
}

Client client = new Client();
client.FirstName = "James";
client.LastName = "";
Run Code Online (Sandbox Code Playgroud)

使用我的“Client”类,我想迭代类中的所有属性,并且当值不为 null 或空字符串时,我将返回该值,在本例中,我只会返回一个字符串“James ”。

希望这是有道理的。

c# class

2
推荐指数
1
解决办法
7016
查看次数

检查类的所有属性是否为null

我有以下代码,应该检查类的所有属性是否为null.我尝试了下面的代码,但它没有用.为什么? 在此输入图像描述

c# class

0
推荐指数
1
解决办法
3194
查看次数

标签 统计

c# ×3

class ×2

.net ×1

reflection ×1