相关文章推荐
读研的人字拖  ·  Java 读取 .properties ...·  2 天前    · 
逃跑的面包  ·  Clickhouse日期字段为String如 ...·  10 小时前    · 
犯傻的绿茶  ·  clickhouse ...·  10 小时前    · 
老实的玉米  ·  springboot+kafka中@Kafk ...·  4 小时前    · 
精明的针织衫  ·  Java 常用类—— ...·  1 年前    · 
年轻有为的香烟  ·  Python ...·  1 年前    · 
//获取对应类 Type t = Type.GetType("TestReflection.TestClass"); //Object obj = t.Assembly.CreateInstance("TestReflection.TestClass"); Object obj = Activator.CreateInstance(t); MethodInfo method_1 = t.GetMethod("Method_1"); method_1.Invoke(obj, null); MethodInfo method_2 = t.GetMethod("Method_2"); object[] parameters = new object[] { "method_", 2 }; string str = (string)method_2.Invoke(obj, parameters); Console.WriteLine(str); Console.ReadLine();

Unity中使用:

using System;
using System.Reflection;
using UnityEngine;
public class Method
    public void TestStringToMethod_1()
        Debug.Log("method_1");
    public void TestStringToMethod_2(string str, GameObject obj)
        Debug.Log("Method2 str:" + str);
        Debug.Log("Method2 obj:" + obj.name);
public class Reflection : MonoBehaviour
    private Type t;
    void Start()
        //获取对应类
        t = Type.GetType("Method");
        //创建获取到的类的实例
        var obj = t.Assembly.CreateInstance("Method");
        MethodInfo method_1 = t.GetMethod("TestStringToMethod_1");
        method_1.Invoke(obj, null);
        object[] parameters = new object[] { "method2", this.gameObject};
        MethodInfo method_2 = t.GetMethod("TestStringToMethod_2");
        method_2.Invoke(obj, parameters);
                    C#反射:String转换成类使用例子:Unity中使用:using System;using System.Reflection;using UnityEngine;public class Method{    public void TestStringToMethod_1()    {        Debug.Log("method_1");    }    public void TestStringToMethod_2(string str, GameO.
				
泛型的约束: 代码如下: public static class ToModel where T : class, new() 定义委托: 代码如下:public delegate void SetString(string value); 创建委托方法: 代码如下: private static SetString CreateStringDelegate(T model, string propertyName) { MethodInfo mi = model.GetType().GetProperty(propertyName).GetSetMethod(); Type t
在自己用unity做demo的过程中,想要从配置表中将UI界面的预制体加载到场景中,并且挂载对应的,由于配置表中需要挂载的是通过字符串配置的,因此想到了以反射的形式进行添加,做了以下尝试: public class TestReflection : MonoBehaviour // Start is called before the first frame updat...
反射给对象赋值遇到的问题——类型转换 发布时间:2012-10-25 10:49浏览次数:225 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致。    创建对象实例的两种方法:  参考连接 http://blog.csdn.net/wlanye/article/details/7045625 //反射动态创建对象: //如果A,B,C,D都与执行代码同一个程序集.则可以这样调用 //System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("命名空间.名", false); // 如: //object o = System.Reflection.Assembly.GetExec
近日,用C#写一个系统的Command Engine的原型,需要大量用到C#反射代码。 其中有一个需求,已知数据的Type和字符串表示的值,据此两个条件生成真正的值,在baidu及google找了将近一个小时的资料,没有找到.不过最后输入我这文章的标题,一下子就在google上找到了,所以,关键字精度是很重要的。 以下为实现代码: Type myType = Typ
C#中的类型转换 一、类型转换概念 C# 是一门强类型语言,对类型要求比较严格,但是在一定的条件下也是可以相互转换的, 如将 int 型数据转换成 double 型数据。 C# 允许使用两种转换方式:隐式类型转换和显式类型转换。 1、 隐式类型转换 隐式类型转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数 类型转换为大的整数类型,从派生转换为基。 隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围 大的数据类型。 示例代码如下: 1 int
今天有群友问我如何用String的文本,转换成对应名的学习了下,感觉网络上有,不过表达的不够清晰,或者说我最讨厌那些专业术语连篇的博文!所以自己再总结下using System.Reflection;//反射的引用 namespace ConsoleApp2//命名空间 class TestCase//做实验的 public void Meth...
string str = "今天是个好天气,我今天被老师批评了一顿,Echo,是个好同学"; Console.WriteLine(str.Contains("Echo")); //是否包含 Console.WriteLine(str.EndsWith("Echo")); //以某个子串结尾 Console.WriteLine(str.StartsWith("今天")); //以某个子串开头 Console.WriteLine(str.IndexOf("个")) static void Main(string[] args) { Type type = typeof(ExampleClass); object obj = Activator.CreateInstance(type); ExampleClass example = obj as ExampleClass; if (example != null) { Console.WriteLine(example.x); 该示例代码中,我们首先获取了类型`ExampleClass`的`Type`对象,然后使用`Activator.CreateInstance`方法创建了一个该类型的新实例。最后,我们将其转换为`ExampleClass`类型,并访问其中的字段。注意,我们使用了`as`操作符来转换,这种方法可以避免`InvalidCastException`异常。