草庐IT

reflect.TypeOf

全部标签

c# - 使用 Reflection.Emit 创建一个实现接口(interface)的类

我需要使用实现以下接口(interface)的Reflection.Emit生成一个类。publicinterfaceIObject{TGet(stringpropertyName);}有没有人举例说明我将如何发出以下内容作为简单的测试用例?classGeneratedObject:IObject{publicTGet(stringpropertyName){//thisisthesimplestpossibleimplementationreturndefault(T);}} 最佳答案 如果您正在使用Reflection.Emit

c# - ASP.NET MVC 如何知道如何填充您的模型以提供 Controller 的操作?它涉及反射(reflection)吗?

定义了一个模型publicclassHomeModel{[Required][Display(Name="FirstName")]publicstringFirstName{get;set;}[Required][Display(Name="Surname")]publicstringSurname{get;set;}}并具有以下ControllerpublicclassHomeController:Controller{[HttpPost]publicActionResultIndex(HomeModelmodel){returnView(model);}publicActionRe

c# - "+"在成员 c# 之后反射(reflect)的全名和 '*' 是什么意思#

我目前正在处理C#中的反射。之后:Assembly.LoadFile(@"C:\ProgramFiles\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetTypes()我发现了这个:[System.Numerics.Matrix4x4]、[System.Numerics.Matrix4x4+CanonicalBasis]、[System.Numerics.Matrix4x4+VectorBasis](有来自“System.Numerics.Vectors.dll”的反射类型)我知道Ma

c# - 我试图理解我反射(reflect)过的微软的 Do​​ubleUtil.AreClose() 代码

如果您反射(reflection)WindowsBase.dll>MS.Internal.DoubleUtil.AreClose(...),您将获得以下代码:publicstaticboolAreClose(doublevalue1,doublevalue2){if(value1==value2){returntrue;}doublenum2=((Math.Abs(value1)+Math.Abs(value2))+10.0)*2.2204460492503131E-16;doublenum=value1-value2;return((-num2num));}我试图理解两件不同的事情:

c# - System.Reflection.Assembly 的空引用异常

我开发了一个用于内部电子邮件报告的库。当我从另一个项目使用该库时(通过添加引用)。它在下一行给出了NullReferenceException。System.Reflection.Assembly.GetEntryAssembly().GetName().Name知道为什么Assembly为空吗? 最佳答案 这是预期的,尤其是在由非托管运行时加载的Windows服务中。使用:Process.GetCurrentProcess().MainModule.FileName获取非托管入口点文件。更新看来您正在寻找这个:System.Ref

c# - : myType. GetType() 和 typeof(MyType) 哪个更有效?

假设我有一个类MyType:sealedclassMyType{staticTypetypeReference=typeof(MyType);//...}给定以下代码:varinstance=newMyType();vartype1=instance.GetType();vartype2=typeof(MyType);vartype3=typeReference;哪些变量赋值最有效?GetType()或typeof()的性能是否足以在静态字段中保存类型是有益的? 最佳答案 typeof(SomeType)是一个简单的元数据标记查找G

c# - 如果 typeof(int?) 是 Int32,Nullable.GetUnderlyingType 有什么用?

为什么typeofint?是Int32int?x=1;Console.WriteLine(x.GetType().Name);如果可以,那么Nullable.GetUnderlyingType有什么用? 最佳答案 调用GetType()装箱你的变量。CLR有一条特殊规则Nullable装箱到T.所以x.GetType将返回Int32而不是Nullable.int?x=1;x.GetType()//Int32typeof(int?)//Nullable自Nullable包含null将装箱到null以下将引发异常:int?x=null;

c# - 为什么 C# switch 语句不允许使用 typeof/GetType()?

如本例所示:switch(myObj.GetType()){casetypeof(MyObject):Console.WriteLine("MyObjectishere");break;} 最佳答案 其次是PeterHallam的帖子;这是一个很好的解释。不过,您可以使用TypeCode处理简单类型。switch(Type.GetTypeCode(myObj.GetType())){caseTypeCode.Boolean:...caseTypeCode.Char:...caseTypeCode.String:...caseType

c# - 反射(reflect)接口(interface)的所有属性,包括继承的属性?

我有一个表示接口(interface)的System.Type实例,我想获取该接口(interface)上所有属性的列表——包括从基接口(interface)继承的那些。我基本上希望从接口(interface)获得与类相同的行为。例如,给定这个层次结构:publicinterfaceIBase{publicstringBaseProperty{get;}}publicinterfaceISub:IBase{publicstringSubProperty{get;}}publicclassBase:IBase{publicstringBaseProperty{get{return"Bas

c# - 'typeof' 是如何工作的?

我很好奇C#中typeof的“方法体”会是什么样子(很确定我无法在反射器中找到它,因为它是关键字而不是方法)。我猜它等同于GetType(魔术将符号转换为字符串)。查看Reflector中的GetType(string)它调用了一个方法“PrivateGetType”,它调用了“RuntimeTypeHandle.GetTypeByName”,而RuntimeTypeHandle似乎有很多类型背后的逻辑,但GetTypeByName的东西没有显示在Reflector中。 最佳答案 如果你这样做:Typet=typeof(string