c# 通过反射输出成员变量以及成员变量的值

/**
* @Author rexzhao
* 工具类 仅限于
* public variable
*/
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using UnityEngine;
//#if !UNITY_ANDROID && UNITY_EDITOR

#if __DEBUG
public static class ObjectUtils
{
public static string Print_VariablesOf<T>(T t)
{
var type = t.GetType();
var Fields = type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
StringBuilder sb = new StringBuilder();
foreach (var finfo in Fields)
{
var test = finfo.GetValue(t);
if (test == null)
continue;
sb.Append(finfo.Name.ToString());
sb.Append(": ");
sb.Append(test.ToString());
sb.AppendLine();
}
return sb.ToString();
}
}
#endif

时间: 2024-10-09 05:03:44

c# 通过反射输出成员变量以及成员变量的值的相关文章

c语言:通过指向结构体变量的指针变量输出结构体变量中成员的信息

通过指向结构体变量的指针变量输出结构体变量中成员的信息. 解:程序: #include<stdio.h> #include<string.h> int main() { struct Student { long int num; char name[20]; char sex[10]; float score; }; struct Student stu_1;//定义struct Student类型的变量stu_1 struct Student *p; p = &stu_

iOS 成员变量,实例变量,属性变量的区别,联系

在ios第一版中: 我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: 注意:(这个是以前的用法) @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, retain) UIButton *myButton; @end 在现在iOS版本中: 苹果将默认编译器从GCC转换为LLVM(low leve

【转截】iOS成员变量、实例变量、属性变量三者的联系与区别

一.类Class中的属性property 在ios第一版中: 我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: 注意:(这个是以前的用法) @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, retain) UIButton *myButton; @end 在现在iOS版本中: 苹果将默认编译

java 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块

①java类的成员变量有俩种: 一种是被static关键字修饰的变量,叫类变量或者静态变量 另一种没有static修饰,为成员变量 ②通俗点说: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享.静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期. 而实例变量取决于类的实例.每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期. 注意点: 1.JAVA中初始化

面向对象——概念(成员变量、静态变量、成员方法、静态方法、垃圾回收机制、重载、包)

静态变量和成员变量的区别: 1.成员变量描述的是对象的特征,包含在对象之中.不同的对象成员变量彼此独立.一个对象成员变量的改变,不会影响其他对象. 静态变量独立在对象之外,是所有对象共享的变量.静态变量改变后会影响所有对象. 2.成员变量只能通过对象.的方式访问.而静态变量,可以通过对象.的方式访问,也可以通过类名.的方式访问.所以静态变量也称为类变量 3.成员变量存放在堆空间中,静态变量存放在数据段中. 静态方法和成员方法的区别: 1.静态方法加载时机在对象之前,可以通过对象.和类名.的方式访

Objective-C 基本语法:实例变量与成员变量的区别.l........实例方法和类方法区别

http://leopard168.blog.163.com/blog/static/16847184420138153296930/ http://blog.csdn.net/thdxs/article/details/10988343 1.类方法是属于整个类,而不属于某个对象.2.类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量.3.类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问.4.类方法只能访问类方法,而实例方法可以

编程题:引用共用体变量的成员

编程题:引用共用体变量的成员 #include<stdio.h> void main() {  union temp {char a; int b; }t; t.a=66;t.b=266; /*266=256+10即266的二进制为100001010,所以高字节放低字节放10*/ printf("%x:%d,%x:%d\n",&t.a,t.a,&t.b,t.b); } 分析代码的算法: 运行结果: 编程题:引用共用体变量的成员,布布扣,bubuko.com

编程题:对结构体变量中成员的引用展示。

编程题:对结构体变量中成员的引用展示. #include<stdio.h> void main() { struct person { char name[20]; char sex; struct date {int year; int month; int day; }birthday; float height; }per; printf("Enter the name:"); gets(per.name);per.sex='M'; per.birthday.year

iOS开发中 类、对象、实例变量、成员变量、属性变量等区别和关系

类(class):具有相同属性和行为等同一类元素等总称,类是一个抽象的概念. 区分是类还是对象,看它能否继续被细分. 在OC中,类是表示对象类型的结构体,对象通过类来获取自身的各种信息.类由两个部分组成:*.h和*.m文件组成. *.m文件中 implemention部分是类的实现部分,内部包含类中的各种信息,包括各种实例方法或类方法. 类别( category):是为现有的类添加新方法的方式,通常以"类名称+类别名称"来命名. 类别中不能添加新的实例变量.但是可以在类别中添加属性.

成员变量(实例变量)&amp;局部变量&amp;静态变量(类变量)的区别

成员变量(实例变量)&局部变量区别: (1)作用域 成员变量:针对整个类有效. 局部变量:只在某个范围内有效.(一般指的就是方法,语句体内) (2)存储位置 成员变量:随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中. 局部变量:在方法被调用,或者语句被执行的时候存在,存储在栈内存中. 当方法调用完,或者语句结束后,就自动释放. (3)初始值 成员变量:有默认初始值. 局部变量:没有默认初始值,使用前必须赋值. 成员变量(实例变量)&静态变量(类变量)区别: A:调用方式 静态变