去bing上查了一下,果然有和我一样蛋疼的朋友,他们在论坛研究了半天,最后还是暴力解决:

public Type GetArrayElementType(Type t)

{

string tName = t.FullName.Replace("[]", string.Empty);

Type elType = t.Assembly.GetType(typeName);

return elType;

}

我加了条件判断,小改了一下:

public static class TypeExMothod
{
    public static Type GetArrayElementType(this Type t)
    {
        if (!t.IsArray) return null;

        string tName = t.FullName.Replace("[]", string.Empty);

        Type elType = t.Assembly.GetType(tName);

        return elType;
    }
}

C#反射取数组单个元素的类型的更多相关文章

  1. Gson解析数组多类型元素

    本文的出现是为了解决以下需求:使用Gson对json数组进行解析,但是数组里面元素的类型是多种的.数据如下: {"list":[{ "type":0, &quo ...

  2. 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

    package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[ ...

  3. 定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素, 添加另一个集合,删除元素,判断集合中是否包含一个元素, 判断是否为空,清除集合, 返回集合里元素的个数等常用操作。

    package com.lanxi.demo2; import java.util.HashSet; import java.util.Iterator; import java.util.Set; ...

  4. 【转】java的string中,关于split空串总会返回单个元素的数组

    原地址:http://blog.sina.com.cn/s/blog_6f3da9650102x03c.html public class Split { public static void mai ...

  5. Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用

    在perference 加content Assist 可以设置快捷键 透视图与视图 透视图:Debug和java主窗口 视图:每一个小窗口就是视图 高版本的java可运行低版本的java版本 常见的 ...

  6. 关于取数组地址的识记(&s+1,s+1,&s[0]+1)

    #include <stdio.h> #include <malloc.h> int main() { ', 'o'}; ); printf(]); ]+); printf(] ...

  7. 使用回溯法求所有从n个元素中取m个元素的组合

    不多说了,直接上代码,代码中有注释,应该不难看懂. #include <stdlib.h> #include <stdio.h> typedef char ELE_TYPE; ...

  8. C语言——数组名、取数组首地址的区别(一)

    目录: 1. 开篇 2. 论数组名array.&array的区别 3. array.&array的区别表现在什么地方 4. 讨论 5. 参考 1.开篇 很多博客和贴吧都有讨论这个话题, ...

  9. 深入分析Java反射(二)-数组和枚举

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

随机推荐

  1. gdb signal 转

    信号是一种软中断,是一种处理异步事件的方法.一般来说,操作系统都支持许多信号.尤其是UNIX,比较重要应用程序一般都会处理信号.UNIX定义了许 多信号,比如SIGINT表示中断字符信号,也就是Ctr ...

  2. java通过UUID生成16位唯一订单号

    import java.util.UUID; public class T { public static String getOrderIdByUUId() { int machineId = 1; ...

  3. iOS:多线程同步加锁的简单介绍

    多线程同步加锁主要方式有3种:NSLock(普通锁).NSCondition(状态锁).synchronized同步代码块 还有少用的NSRecursiveLock(递归锁).NSConditionL ...

  4. go语言基础之安装go开发环境和beego

    1.install gogo1.11.4.windows-amd64.msi  #默认安装就可以 2.golandgoland-2018.2.2.exe 安装完成,不要运行软件. 软件下载:https ...

  5. SQL精华应用

    [精确到纳秒的时间函数] SYSDATETIME().SYSUTCDATETIME()        ---- 精确程度取决于执行 SQL Server 实例的计算机硬件和 Windows 版本号 [ ...

  6. css border-sizing 用法与理解

    浏览器支持 IE Firefox Chrome Safari Opera  支持  支持  支持  支持  支持 Internet Explorer.Opera 以及 Chrome 支持 box-si ...

  7. SSMybatis整合 --详细解读Mybatis对oracle数据库进行增删改查(一)

    Mybatis是现在主流的持久化层框架,与Hibernate不同的是,它鼓励程序员使用原声SQL语句对数据库进行操作.因此提供了非常灵活的功能.特别是当数据库同时访问数过多,需要进行优化时,使用sql ...

  8. oc和swift混编 使用use_frameworks!后编译出错

    Swift项目中同时使用OC的库和Swift的库时,用CocoaPods导入时添加use_frameworks! 如果在cocoapods 里面不使用use_frameworks!,则是通过stati ...

  9. IIS 之 Asp.Net项目内部运行详解

    我们都知道,当用户在浏览器地址栏中输入网址时,该请求会被IIS服务器捕获,如果是请求的是静态页面则由IIS本身处理并直接返回客户端:如果是动态页(*.aspx),通过一系列的前期的处理来到 .NET ...

  10. Core Data NSAttribute Type 数据类型

    一:使用Core Data 的可用数据类型 NSAttributeType Defines the possible types of NSAttributeType properties. Thes ...