dotnet检测类型是否为泛型

简介: 原文:dotnet检测类型是否为泛型 private static string GetTableName(Type type) { //检测类型是否为泛型 if (type.
原文: dotnet检测类型是否为泛型

private static string GetTableName(Type type)
{
//检测类型是否为泛型
if (type.GetType().IsGenericType)
{//取出泛型类型
var types = type.GetGenericArguments();
type
= types.FirstOrDefault();
}

var name = type.GetAttribute<TableNameAttribute>()?.Name;
if (string.IsNullOrEmpty(name))//找不到标记名称取类型名称
{
name = type.Name;
}
return name;
}

  

目录
相关文章
|
22天前
|
存储 算法 程序员
【C++20 新特性 】模板参数包展开与Lambda初始化捕获详解
【C++20 新特性 】模板参数包展开与Lambda初始化捕获详解
69 3
|
7月前
|
编译器 C++
【c++11】新的类功能和可变参数包
【c++11】新的类功能和可变参数包
|
C# C++
创建目标类型对象在C#7.3中不可用,请使用9.0或更高的语言版本
创建目标类型对象在C#7.3中不可用,请使用9.0或更高的语言版本
1091 0
创建目标类型对象在C#7.3中不可用,请使用9.0或更高的语言版本
|
6月前
|
JavaScript 编译器
TypeScript-never和object类型、类型断言概述
TypeScript-never和object类型、类型断言概述
33 0
|
9月前
|
存储 C语言 C++
c++类型转换与RTTI运行阶段类型识别
我们都知道C++完全兼容C语言,C语言的转换方式很简单,可以在任意类型之间转换,但这也恰恰是缺点,因为极其不安全,可能不经意间将指向const对象的指针转换成非const对象的指针,可能将基类对象指针转成了派生类对象的指针,这种转换很容易出bug,需要严格审查代码才能消除这种隐患,但是C这种转换方式不利于我们审查代码,且程序运行时也可能会出bug。
78 2
|
JavaScript 前端开发 API
TypeScript 实用工具类型之 Partial 类型
TypeScript 实用工具类型之 Partial 类型
|
Linux Windows
cygwin编译x264:extras/avisynth_c.h 未知类型错误 'HMODULE'
cygwin编译x264:extras/avisynth_c.h 未知类型错误 'HMODULE'
67 0
|
Java
Java泛型——限制可用类型
Java泛型——限制可用类型
119 0
|
JavaScript 前端开发 Shell
TypeScript 4.6 beta 发布:递归类型检查增强、参数的控制流分析支持、索引访问的类型推导
TypeScript 已于 2022.1.21 发布 4.6 beta 版本,你可以在 [4.6 Milestone](https://github.com/microsoft/TypeScript/milestone/151) 查看所有被包含的 Issue 与 PR。如果想要抢先体验新特性,执行: ```bash $ npm install typescript@beta ``` 来安装 b
|
算法 编译器 C#
通过运行期类型检查实现泛型算法
通过运行期类型检查实现泛型算法
78 0