Unity面试题

合集下载

游戏公司unity面试题

游戏公司unity面试题

Unity3d 程序员面试题1.什么是渲染管道?渲染管道有哪些步骤?答:渲染管道是指程序为了在显示器上输出图像而经过的一系列必要操作.渲染管道的步骤有:本地空间->世界空间->视图空间->背面剔除->光照计算->相机裁剪->投影计算->视口变换->光栅化2.Unity3d有几种加载Prefab的方式?答: 1.静态引用,建一个public变量,在Inspector里把prefab拉上去,在场景运行时会自动加载,用的时候instantiate2.Resource.Load, 在调用该函数后加载, Load以后instantiate3.AssetBundle.Load 在调用该函数后加载, Load以后instantiate3.什么是协同程序?答:在主线程序运行时同时开启另一段逻辑处理,来协助当前程序的执行.换名话说.开启协程就象开启一个线程.4.你例举几个你用过的Unity3d插件,并说明它们的用途和特点.5.Unity3d中的碰撞器Collision和触发器Trigger的区别?答:碰撞器有碰撞效果, IsTrigger = false 在碰撞发生时会调用OnCollisionEnter,OnCollisionStay,OnCollisionExit函数.触发器没有碰撞效果, IsTrigger = true, 可被触发时会调用OnTriggerEnter,OnTriggerStay,OnTriggerExit函数6.物体发生碰撞的必要条件答:两件物体都必须有碰撞组件(Collider),其中一物体还必须带有Rigidbody刚体组件7.在物体发生碰撞的整个过程中,有几个阶段,不同阶段分别调用哪些函数答:1.OnCollisionEnter2.OnCollisionStay3.OnCollisionExit8.在unity3D中有Update还有FixedUpdate,物理引擎的更新一般放在哪个系统函数里,为什么?答:物理引擎的更新一般放在FixedUpdate里面,和Update不同,FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降.因为FixedUpdate是每固定帧绘制时执行一次,所以更适合做物理控制.9.移动摄像机的动作放在哪个系统函数中,为什么放在这个函数中?答:移动摄像机的动作应该放在LateUpdate函数中.在每帧执行完毕调用,它是在所有Update结束后才调用,比较适合用于命令脚本的执行.如果不是在所有Update执行完后就移动摄像机可能会出现摄像机移动了,视口里的内容还没有更新的空帧现象.10.场景中有多个相机(Camera)时,怎么来设置多个相机的渲染顺序.答: Depth参数,设为-1会最先被渲染,值越大越后被渲染.11.LOD是什么, 优缺点是什么?答: LOD 是Level Of Detail的缩写,是指的多层次细节技术,是最常用的游戏优化技术.它按照模型的位置和重要程度决定物体渲染的精细层度,从而降低非重要物体的在视口中的面数和细节度,来提高渲染运算的速度.12.写出光照计算中的Diffuse的计算公式?答: diffuse = Kd * colorLight *max(N . L, 0) ; Kd漫反射系数,ColorLight光照的颜色,N物体表面单位法线向量, L由点指向光源的单位向量, 其中N与L为点乘,如果结果小于等于0,则漫反射为013.Vertex Shader是什么?答:顶点着色器14.MipMap是什么,作用?答:MIP map技术与材质帖图技术结合,根据距观看者远近距离的不同,以不同的分辨率将单一的材质帖图以多重图像的形式表现出来并代表平面纹理:尺寸最大的图像放在前面显著的位置,而相对较小的图像则后退到背景区域。

unity常见面试题2

unity常见面试题2

21.为什么dynamic font在unicode环境下优于static fontUnicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。

使用动态字体时,Unity将不会预先【狗刨学习网】生成一个与所有字体的字符纹理。

当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。

22.Render的作用?描述MeshRender和SkinnedMeshRender的关系与不同A renderer is what makes an object appear on the screen。

23.简述SkinnedMesh的实现原理/n5/article/details/310587224.在场景中放置多个Camera并同时处于活动状态会发生什么?答:游戏界面可以看到很多摄像机的混合25.Prefab的作用?如何在移动环境的设备下恰当地使用它?答:Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改/88999660/archive/2013/03/15/2961663.html26.如何销毁一个UnityEngine.Object及其子类答:Destory27.为什么Unity3D中会发生在组件上出现数据丢失的情况?答:组件上绑定的对象被删除了28.如何安全的在不同工程间安全地迁移asset数据?三种方法答:·将Assets目录和Library目录一起迁移·导出包·用unity自带的assets Server功能29.MeshCollider和其他Collider的一个主要不同点?答:Convex?30.当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?穿透(碰撞检测失败)/threads/3353-collision-detection-at-high-speed该文章出自unity狗刨学习网。

【新提醒】【unity常见面试题】

【新提醒】【unity常见面试题】

【新提醒】【unity常见面试题】本帖最后由小布丁~ 于 2015-6-30 08:24 编辑1. 游戏对象问题:游戏对象消失三种方法的区别?(enabled/Destroy/active)gameObject.renderer.enabled=fasle是控制一个物体是否在屏幕上渲染或显示而物体实际还是存在的只是想当于隐身而物体本身的碰撞体还依然存在的GameObject.Destroy()表示移除物体或物体上的组件代表销毁该物体实际上该物体的内存并没有立即释放而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了一般是在c场景中才真正释放该物体的内存资源(这是我的体会不知道理解错误没)gameObject.active=false是否在场景中停用该物体在你gameObject.active =false中则你在场景中用find找不到该物体如果该物体有子物体你要用SetActiveRecursively(false) 来控制是否在场景中停用该物体(递归的)副作用:通过GameObject.Find方法查找不到2. 协同程序(Coroutine)协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。

换句话说,开启协同程序就是开启一个线程。

原理:协同程序被开启后作为一个线程在运行,而MonoBehaviour也是一个线程,他们成为互不干扰的模块,除非代码中用调用,他们共同作用于同一个对象,只有当对象不可见才能同时终止这两个线程。

使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序。

使用StopCoroutine(string methodName)来终止一个协同程序,使用StopAllCoroutines()来终止所有可以终止的协同程序,但这两个方法都只能终止该MonoBehaviour中的协同程序。

还有一种方法可以终止协同程序,即将协同程序所在GameObject的Active属性设置为false,当再次设置active为ture 时,协同程序并不会再开启。

Unity面试题(含答案)

Unity面试题(含答案)

Unity面试题(含答案)史上最全的Unity面试题(持续更新总结。

)包含答案的Unity面试题这个是我刚刚整理出的Unity面试题,为了帮助大家面试,同时帮助大家更好地复习Unity知识点,如果大家发现有什么错误,(包括错别字和知识点),或者发现哪里描述的不清晰,请在下面留言,我会重新更新,希望大家共同来帮助开发者一:什么是协同程序?在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足。

二:Unity3d中的碰撞器和触发器的区别?碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。

当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。

如果既要检测到物体的接触又不想让碰撞检测影响物体移动或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器三:物体发生碰撞的必要条件?两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体,而且必须是运动的物体带有Rigidbody脚本才能检测到碰撞。

四:请简述ArrayList和List的主要区别?####ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理)?装箱拆箱的操作(费时)?List是接口,ArrayList是一个实现了该接口的类,可以被实例化五:如何安全的在不同工程间安全地迁移asset数据?三种方法1.将Assets目录和Library目录一起迁移2.导出包,export Package3.用unity自带的assets Server功能六:OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生Awake –>OnEnable->Start,OnEnable在同一周期中可以反复地发生。

Unity面试题(一)

Unity面试题(一)

Unity⾯试题(⼀)第⼀部分1. 请简述值类型与引⽤类型的区别1. 值类型存储在内存栈中,引⽤类型数据存储在内存堆中,⽽内存单元中存放的是堆中存放的地址。

2. 值类型存取快,引⽤类型存取慢。

3. 值类型表⽰实际数据,引⽤类型表⽰指向存储在内存堆中的数据的指针和引⽤。

4. 栈的内存是⾃动释放的,堆内存是 .NET 中会由 GC 来⾃动释放。

5. 值类型继承⾃ System.ValueType, 引⽤类型继承⾃ System.Object 。

2.C# 中所有引⽤类型的基类是什么System.Object3. 请简述 ArrayList 和 List<Int> 的主要区别ArrayList,存在类型不安全问题,和装箱拆箱性能问题;类型不安全:ArrayList会把所有数据当做Object类型来处理,所以允许操作不同类型的数据;所以在运⾏时,可能会报类型不匹配的错误;装箱拆箱:例如需要将int-->object,object-->int;过程消耗性能;List<Int>:List是ArrayList的等效类;因为泛型避免了编译时输⼊不同类型;List将所有内容存储在T类数组中,没有装箱,但是数组是在堆上分配的。

所以避免了类型不安全和装箱拆箱问题;4. 请简述 GC (垃圾回收)产⽣的原因,并描述如何避免?原因:GC 回收堆上的内存避免: 1 )减少 new 产⽣对象的次数2 )使⽤公⽤的对象(静态成员)3 )将 String换为 StringBuilder5. 请描述 Interface 与 abstract类之间的不同⼀个类继承了某个抽象类表⽰它“是什么”,实现了某个接⼝表⽰它“有什么功能”或者“会做什么事”。

⽐如:燕⼦(具体类)是鸟(抽象类),会飞(接⼝)。

C#中不⽀持多继承,即燕⼦只能是鸟,不会是其他东西了;但可以有多个功能,做很多事,⽐如会飞(IFly),会吃(IEat)。

unity面试题目及答案

unity面试题目及答案

unity面试题目及答案一、Introduction (简介)在Unity面试中,通常会涉及到一些常见的技术问题和编程知识点。

下面将列举一些常见的Unity面试题目,并给出相应的答案。

希望能够对您有所帮助。

二、Unity基础知识1. 什么是Unity?Unity是一款跨平台的游戏开发引擎,它提供了丰富的工具和各种功能,方便开发人员创建游戏、模拟器和其他交互式内容。

2. Unity支持哪些平台?Unity支持 iOS、Android、Windows、Mac、Linux等多个平台。

3. 请简述Unity中的场景(Scene)和资源(Asset)的概念及用途。

场景(Scene)是Unity中用于组织和呈现游戏或应用程序的空间。

资源(Asset)则是Unity中用于存储游戏元素(如角色、音频、图片等)的文件。

4. Unity中脚本编程语言是什么?Unity支持多种脚本编程语言,包括C#、JavaScript和Boo。

其中C#是最常用的脚本语言。

5. 在Unity中如何创建一个脚本?在Unity中,可以通过鼠标右键点击Project视图中的文件夹,选择“Create”->“C# Script”,然后命名脚本文件。

6. 请简述Unity中的游戏对象(GameObject)和组件(Component)的关系。

游戏对象(GameObject)是Unity中的基本构建单位,可以用于组织场景中的元素。

而组件(Component)可以附加到游戏对象上,用于控制和定义游戏对象的行为与属性。

7. Unity中常用的内置组件有哪些?Unity中常用的内置组件有Transform(用于控制游戏对象的位置、旋转和缩放)、Renderer(用于渲染游戏对象的图形)、Collider(用于碰撞检测)等。

8. 请简述Unity中的物理引擎。

Unity中的物理引擎可以用于模拟游戏中的物理效果,如重力、碰撞等。

Unity使用了开源的物理引擎库Bullet Physics和NVIDIA PhysX。

unity常见面试题

unity常见面试题

21.请描述为什么Unity3d中会发生在组件上出现数据丢失的情况一般是组件上绑定的物体对象被删除了22.alpha blend工作原理Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。

23.写出光照计算中的diffuse的计算公式diffuse = Kd x colorLi【狗刨学习网】ght x max(N*L,0);Kd 漫反射系数、colorLight 光的颜色、N 单位法线点指向光源的单位向量、其中N与L点乘,如果结果小于等于0,则漫反射为0。

24.Lod是什么,优缺点是什么?LOD(Level of detail)多层次细节,是最常用的游戏优化技术。

它按照模型的位置和重要程度决定物体渲染的资非重要物体的面数和细节度,从而获得高效率的渲染运算。

25.两种阴影判断的方法、工作原理。

26.Vertex Shader是什么,怎么计算?顶点着色器27.MipMap是什么,作用?MipMapping:在三维计算机图形的贴图渲染中有常用的技术,为加快渲染进度和减少图像锯齿,贴图被处理成预先计算和优化过的图片组成的文件,这样的贴图被称为Mip【狗刨学习网】Map。

28.机试:二选一1.用代码实现第三角色控制器2.实现吊机吊物体的功能29.反向旋转动画的方法是什么?30.碰撞检测需要物体具备什么属性?31.获取、增加、删除组件的命令分别是什么?获取:GetComponent增加:AddComponent删除:Destroy32.Animation.CrossFade命令作用是:(C)A.动画放大B.动画转换C.动画的淡入为其他动画33.Application.loadLevel命令为:(A)A.加载关卡B.异步加载关卡C.加载动作34.调试记录到控制台的命令是什么?Debug.Log();35.编辑器类存放路径是什么?工程目录下的Assets/Editor文件夹下。

Unity面试题汇总

Unity面试题汇总

一、C#语言1.重载和重写的区别1)所处位置不同重载在同类中重写在父子类中2)定义方式不同重载方法名相同参数列表不同重写方法名和参数列表都相同3)调用方式不同重载使用相同对象以不同参数调用重写用不同对象以相同参数调用4)多态时机不同重载时编译时多态重写是运行时多态2.面向对象的三大特点封装、继承、多态1、封装:封装是将数据和行为相结合,通过行为约束代码修改数据的程度,增强数据的安全性,属性是C#封装实现的最好体现。

2、继承:提高代码重用度,增强软件可维护性的重要手段,符合开闭原则。

3、多态性:多态性是指同名的方法在不同环境下,自适应的反应出不同得表现,是方法动态展示的重要手段。

3.简述值类型和引用类型有什么区别1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。

2.值类型存取快,引用类型存取慢。

3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。

4.栈的内存是自动释放的,堆内存是.NET 中会由GC 来自动释放。

5.值类型继承自System.ValueType,引用类型继承自System.Object。

4.请简述private,public,protected,internal的区别public:对任何类和成员都公开,无限制访问private:仅对该类公开protected:对该类和其派生类公开internal:只能在包含该类的程序集中访问该类protected internal:protected + internal5.C#中所有引用类型的基类是什么引用类型的基类是System.Object 值类型的基类是System.ValueType同时,值类型也隐式继承自System.Object6.请简述ArrayList 和List<Int>的主要区别ArrayList 不带泛型数据类型丢失List<T> 带泛型数据类型不丢失ArrayList需要装箱拆箱List<T>不需要7.请简述GC(垃圾回收)产生的原因,并描述如何避免?GC 为了避免内存溢出而产生的回收机制避免:1)减少new 产生对象的次数2)使用公用的对象(静态成员)3)将String 换为StringBuilder8.请描述Interface 与抽象类之间的不同1.接口不是类不能实例化抽象类可以间接实例化2.接口是完全抽象抽象类为部分抽象3.接口可以多继承抽象类是单继承9.下列代码在运行中会产生几个临时对象?其实在C#中第一行是会出错的(Java 中倒是可行)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近unity3d找工作有些受挫,自己也开始补课了。

下面把这段时间看到的些?面试题供出来让大家也学习下,题目只是面试官选拔人才的一部分,在研究面试题目的过程中,多检测下自己的不足,及时温习或补习下,最终学到真本事才是最重要的。

祝自己也祝大家好运哈!题目中有些答案有网上搜的,也有个人整理的,有错误或不足的地方,望指正,谢谢!文章最后会有参考的一些网址或资料的链接,有想看原址的朋友可以直接跳到最后哦。

题目归类区(看题目字体颜色识第几部分)ps:下面题目可能稍有点多,翻页会较麻烦,根据题目的颜色辨别是第几部分吧(超链接功能不会,也懒得做了)第一部分1.请简述值类型与引用类型的区别2.C#中所有引用类型的基类是什么3.请简述ArrayList和List<Int>的主要区别4.请简述GC(垃圾回收)产生的原因,并描述如何避免?5.请描述Interface与抽象类之间的不同6.下列代码在运行中会产生几个临时对象?7.下列代码在运行中会发生什么问题?如何避免?8.请简述关键字Sealed用在类声明和函数声明时的作用9.请简述private,public,protected,internal的区别10.反射的实现原理?11. .Net与Mono的关系?12.简述unity3d支持的作为脚本的语言的名称13.Unity3D是否支持写成多线程程序?如果支持的话需要注意什么?14.Unity3D的协程和C#线程之间的区别是什么?15.U3D中用于记录节点空间几何信息的组件名称,及其父类名称16.简述四元数的作用,四元数对欧拉角的优点?17.向量的点乘、叉乘以及归一化的意义?18.矩阵相乘的意义及注意点19.为何大家都在移动设备上寻求U3D原生GUI的替代方案20.请简述如何在不同分辨率下保持UI的一致性21.为什么dynamic font在unicode环境下优于static font22.Render的作用?描述MeshRender和SkinnedMeshRender的关系与不同23.简述SkinnedMesh的实现原理24.在场景中放置多个Camera并同时处于活动状态会发生什么?25.Prefab的作用?如何在移动环境的设备下恰当地使用它?26.如何销毁一个UnityEngine.Object及其子类27.为什么Unity3D中会发生在组件上出现数据丢失的情况?28.如何安全的在不同工程间安全地迁移asset数据?三种方法29.MeshCollider和其他Collider的一个主要不同点?30.当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?31.OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?32.请简述OnBecameVisible及OnBecameInvisible的发生时机,以及这一对回调函数的意义?33.Unity3D如何获知场景中需要加载的数据?34.MeshRender中material和sharedmaterial的区别?第二部分1.请描述游戏动画有哪几种,以及其原理。

2.alpha blend?工作原理3.写光照计算中的diffuse的计算公式4.lod是什么,优缺点是什么5.两种阴影判断的方法工作原理6.MipMap是什么?作用?7.用u3d实现2d游戏,有几种方式?8.u3d中碰撞器和触发器的区别?9.物体发生碰撞的必要条件10.CharacterController和Rigidbody的区别11.物体发生碰撞时,有几个阶段,分别对应的函数12.u3d中,几种施加力的方式,描述出来。

13.什么叫做链条关节14.物体自旋转使用的函数叫什么15.物体绕某点旋转使用函数叫什么16.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数17.unity3d提供了几种光源,分别是什么18.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法。

19.物理更新一般在哪个系统函数里?20.移动相机动作在哪个函数里,为什么在这个函数里。

21.当游戏中需要频繁创建一个物体对象时,我们需要怎么做来节省内存。

22.一个场景放置多个camera并同时处于活动状态,会发生什么23.简述prefab的用处和环境24.如何销毁一个UnityEngine.Object以及其子类25.为什么u3d会出现组件上数据丢失的情况26.u3d下如何安全的在不同工程迁移asset数据第三部分1.什么是渲染管道?2.如何优化内存?3、动态加载资源的方式?4、什么是协同程序?5、你用过哪些插件?第四部分1.反向旋转动画的方法是什么?2.碰撞检测需要物体具备什么属性?3.用代码实现第三角色控制器4.实现吊机吊物体的功能5.获取、增加、删除组件的命令分别是什么?6.Animation.CrossFade命令作用是命令为8.调试记录到控制台的命令是什么?9.编辑器类存放路径是什么?10.使用原生GUI创建一个可以拖动的窗口命令是什么?11.localPosition与Position的使用区别?12.意义连线13.写一个计时器工具,从整点开始计时,格式为:00:00:0014.写出Animation的五个方法15.怎么拿到一个对象上脚本的方法16.上机题17.请简述向量的点乘,向量的叉乘以及向量归一化的几何意义?第五部分1,在类的构造函数前加上static会报什么错?为什么?2,C# String类型比stringBuilder类型的优势是什么?3,C#?函数Func(string a, string b)用Lambda表达式怎么写?4,数列1,1,2,3,5,8,13...第n位数是多少?用C#递归算法实现5,UML图示.答案区:第一部分1.?请简述值类型与引用类型的区别答:区别:1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。

2.值类型存取快,引用类型存取慢。

3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。

4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。

5.值类型继承自System.ValueType,引用类型继承自System.Object。

2008/01/31/1059383.html2.C#中所有引用类型的基类是什么答:引用类型的基类是System.Object?值类型的基类是System.ValueType同时,值类型也隐式继承自System.Object3.请简述ArrayList和List<Int>的主要区别答:ArrayList存在不安全类型‘(ArrayList会把所有插入其中的数据都当做Object来处理)装箱拆箱的操作(费时)List是接口,ArrayList是一个实现了该接口的类,可以被实例化。

4.请简述GC(垃圾回收)产生的原因,并描述如何避免?答:GC回收堆上的内存避免:1)减少new产生对象的次数2)使用公用的对象(静态成员)3)将String换为StringBuilder5.请描述Interface与抽象类之间的不同答:抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公公只能定义各个方法的界面,不能具体的实现代码在成员方法中。

类是子类用来继承的,当父类已经有实际功能的方法时该方法在子类中可以不必实现,直接引用父类的方法,子类也可以重写该父类的方法。

实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个。

参考2012/08/08/2628433.html6.下列代码在运行中会产生几个临时对象?答:其实在C#中第一行是会出错的(Java中倒是可行)。

应该这样初始化:string b = new string(new char[]{'a','b','c'});7.下列代码在运行中会发生什么问题?如何避免?答:会产生运行时错误,因为foreach是只读的。

不能一边遍历一边修改。

8.请简述关键字Sealed用在类声明和函数声明时的作用答:类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。

9.请简述private,public,protected,internal的区别答:public:对任何类和成员都公开,无限制访问private:仅对该类公开protected:对该类和其派生类公开internal:只能在包含该类的程序集中访问该类protected internal:protected + internal10.反射的实现原理?答:审查元数据并收集关于它的类型信息的能力。

反射个人认为,就是得到程序集中的属性和方法。

实现步骤:1,导入using System.Reflection;2,Assembly.Load("程序集")加载程序集,返回类型是一个Assembly3,?foreach (Type type in assembly.GetTypes())? ?? ?? ?? ?{? ?? ?? ?? ?? ? string t = ;? ?? ?? ?? ?}? ?得到程序集中所有类的名称4,Type type = assembly.GetType("程序集.类名");获取当前类的类型5,Activator.CreateInstance(type);?创建此类型实例6,MethodInfo mInfo = type.GetMethod("方法名");获取当前方法7,mInfo.Invoke(null,方法参数);11. .Net与Mono的关系?答:Mono官网主页Mono is a software platform designed to allow developers to easily create?cross platform applications. Sponsored by Xamarin, Mono is an open source?implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.mono是.net的一个开源跨平台工具,就类似java虚拟机,java本身不是跨平台语言,但运行在虚拟机上就能够实现了跨平台。

.net只能在windows下运行,mono可以实现跨平台跑,可以运行于linux,Unix,Mac OS等。

相关文档
最新文档