程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# 从类中获取 List<string>大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决c# 从类中获取 List<String>?

开发过程中遇到c# 从类中获取 List<String>的问题如何解决?下面主要结合日常开发的经验,给出你关于c# 从类中获取 List<String>的解决方法建议,希望对你解决c# 从类中获取 List<String>有所启发或帮助;

我有一个带有常量字符串的类,
有没有办法将这些类的所有常量字符串都添加到列表中?

public class Permissions
{
public const String AccessHomePage = "AccessHomePage";
public const String AccessadminPage = "AccessadminPage";
...
}

一次添加管理员用户所有权限会更容易
获取类中所有字符串的列表直接...

List<String> allPermissions =

真的很不错...

解决方法

也许

给定

public class Permissions
{
   public const String AccessHomePage = "AccessHomePage";
   public const String AccessAdminPage = "AccessAdminPage";
}

示例

private static IEnumerable<String> GetConstants<T>()
   => typeof(T).GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)
      .Where(x => x.FieldType == typeof(String) && x.IsLiteral && !x.IsInitOnly)
      .SELEct(x => x.GetValue(null) as String);

使用

foreach (var item in GetConstants<Permissions>())
   Console.WriteLine(item);

输出

AccessHomePage
AccessAdminPage

@H_944_57@加入胡椒和盐调味


说明

BindingFlags.Public

指定要在搜索中包含公共成员。

BindingFlags.Static

指定要在搜索中包含静态成员。

BindingFlags.FlattenHierarchy

指定层次结构中的公共和受保护静态成员 应该被退回。继承类中的私有静态成员是 没有回来。静态成员包括字段、方法、事件和 特性。不返回嵌套类型。

FieldInfo.IsInitOnly Property

获取一个值,该值指示该字段是否只能在正文中设置 构造函数。

FieldInfo.IsLiteral Property

获取一个值,该值指示该值是否在编译时写入 并且无法更改。

大佬总结

以上是大佬教程为你收集整理的c# 从类中获取 List<string>全部内容,希望文章能够帮你解决c# 从类中获取 List<string>所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。