c# - 如何向多个类添加扩展方法?

标签 c# reflection

我有大约 1000 个类,我需要计算其中的属性数量。我有以下代码:

    public static int NumberOfProperties()
    {
        Type type = typeof(C507);
        return type.GetProperties().Count();
    }

我可以将其复制并粘贴到更改 typeof 参数的每个类中,但这似乎有点乏味。

有没有办法通过 var nop = C507.NumberOfProperties(); 来创建一个扩展方法来做到这一点?

最佳答案

只是添加建议扩展 object 完整性的答案:您还可以考虑仅为 Type 实现扩展:

public static int GetPropertyCount(this Type t)
{
    return t.GetProperties().Length;
}

并像这样使用它:

typeof(C507).GetPropertyCount();

优点是您可以直接从类型中获取属性的数量,而不必先创建实例。

关于c# - 如何向多个类添加扩展方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455057/

相关文章:

c# - 在 'foreach' 循环中使用 LINQ 仅运行一次

java - isAnnotationPresent() 不适用于 @Repeatable 注释

java - 要求重写反射,因为它很慢 - 事实并非如此?

java - Java 中 new 运算符与 newInstance() 的性能对比

java - 如何从类名字符串中获取单例实例

c# - 防止.NET语音识别听到/识别计算机扬声器

c# - 在 DataGrid-Column 中显示图像

c# - 尝试验证我的模块是否已使用 Moq 调用了 registerViewWithRegion

c# - .NET 框架中是否有针对不同 Web 方法类型(GET、PUT、POST、DELETE、HEAD)的常量?

android - Android Studio Gradle-JavaExec类路径配置-Java反射-类访问