草庐IT

system.reflection

全部标签

c# - 在没有 System.Net.Sockets 的情况下将 Unity 连接到 C++ WinSocket

Windows10、Unity5.5.2-请注意,这隐含地将.Net限制为3.5版。我有一个C++应用程序,我正尝试通过无线方式连接到Unity应用程序。我希望不断地将字节数组从C++发送到Unity。问题是,对于我希望部署到的设备(在我的例子中是Hololens),System.Net.Sockets不可用。在C++中,我使用Winsock2.hheader实例化了一个套接字。我可以使用UDP或TCP,这对我的应用程序没有影响。在Unity中,我希望使用Unity.Networking或UWP来建立连接。要使用UWP,我只见过使用async关键字的示例,这在Unity中使用起来很头疼

c# - 如何使用 System.Linq.Expressions.Expression 根据 child 进行过滤?

我有一个在许多方法中使用的过滤器:Expression>filter=child=>child.Status==1;(实际上比这更复杂)我必须做以下事情returndb.Parents.Where(parent=>parent.Status==1&&parent.Child.Status==1);条件与上面的过滤器相同。我想在此方法中重用过滤器。但我不知道怎么办。我试过了returndb.Parents.Where(parent=>parent.Status==1&&filter(parent.Child));但表达式不能用作方法 最佳答案

c# - System.Data.IDbCommand 和异步执行?

系统.数据.SqlClient.SqlCommand有方法BeginExecuteNonQueryBeginExecuteReaderBeginExecuteXmlReader和EndExecuteNonQueryEndExecuteReaderEndExecuteXmlReader用于异步执行。System.Data.IDb命令只有ExecuteNonQueryExecuteReaderExecuteXmlReader仅用于同步操作。有异步操作的接口(interface)吗?另外,为什么没有BeginExecuteScalar? 最佳答案

c# - Reflection.Emit.ILGenerator异常处理 "Leave"指令

首先,一些背景信息:我正在为学校项目制作编译器。它已经在工作了,我正在花费大量精力来修复错误和/或优化它。我最近遇到了一个问题,我发现当您调用以下任何成员方法时,ILGenerator对象会生成一个额外的leave指令:BeginCatchBlock()BeginExceptFilterBlock()BeginFaultBlock()BeginFinallyBlock()EndExceptionBlock()因此,您通过调用BeginExceptionBlock()开始一个try语句,使用BeginCatchBlock()添加几个catch子句,可能添加一个带有的finally子句co

c# - Metro 风格应用程序中的自定义类属性

我正在尝试定义和检索MetroStyleApp可移植库中类的自定义属性。有点像[AttributeUsage(AttributeTargets.Class)]publicclassFooAttribute:Attribute{}[Foo]publicclassBar{}classProgram{staticvoidMain(string[]args){varattrs=CustomAttributeExtensions.GetCustomAttribute(typeof(Bar));}}这在普通4.5中有效,但它告诉我在针对metro风格应用程序的可移植库中Cannotconvertt

c# - Roslyn vs Reflection for TypeScript 代码生成器

我正在开发一个TypeScript代码生成器,它将使用C#类上的自定义属性来生成TypeScript定义和代码文件。我正在考虑两种用于TypeScript代码生成/源文件分析的选项:对编译程序集的思考罗斯林CTP该工具将使用属性和方法的自定义特性来生成TypeScript文件。现在我不打算将C#方法体转换为JavaScript,但将来可能会这样做。因此,出于这个原因,我正在认真考虑Roslyn。然而,为了简单地生成我的TypeScript类的大纲,我认为我可以使用反射和自定义属性。我在想:a)Roslyn是否提供反射无法提供的功能?我的理解是我无法通过反射获得方法体。b)RoslynC

c# - 如何在反射中使用不完整的类型?

我想动态生成程序集,它可以有不同结构的功能。更准确地说,这些函数可以递归,它们可以调用同一程序集中的其他函数等。我发现System.Reflection模块理论上提供了执行此操作的工具,但在实践中我遇到了这种方法有很多缺点。例如-我无法通过TypeBuilder和MethodBuilder类生成递归函数,因为会抛出异常(使用不完整的类型)。我了解到我可以通过IlGenerator生成自递归函数-但它太麻烦了-我希望有更简单的方法来做到这一点。这是我的程序,它演示了这个问题(在生成方法Fact时抛出以下异常:Exceptionthrown:'System.NotSupportedExce

c# - 如何创建具有多种尺寸/图像的 System.Drawing.Icon?

我想以编程方式从32x32、16x16位图创建一个System.Drawing.Icon。这可能吗?如果我用-加载图标IconmyIcon=newIcon(@"C:\myIcon.ico");...它可以包含多个图像。 最佳答案 一个.ico文件中可以包含多个图像,但是当您加载一个.ico文件并创建一个Icon对象时,只会加载其中一个图像。Windows根据当前显示模式和系统设置选择最合适的图像,并使用该图像初始化System.Drawing.Icon对象,忽略其他图像。因此您不能创建具有多个图像的System.Drawing.Ic

c# - System.Environment.TickCount 的 WinRT 替换

System.Environment.TickCount的WinRT替代品是什么? 最佳答案 它应该可用,因为它isn'taproblem.但它不是,我猜是[TypeForwardedTo]挂起,因为GetTickCount()不在白名单上,.NET从未采用GetTickCount64。标准回退工作正常,您可以使用pinvoke调用nativeWindows函数。我验证了使用它的程序通过了Windows应用程序认证工具包测试。[System.Runtime.InteropServices.DllImport("kernel32.dl

c# - 可以将异步事件处理程序附加到 System.Timers.Timer 吗?

我已经阅读了SO帖子here和文章here.我有一个每隔一段时间就会触发一次的计时器事件,我想在处理程序内部进行一些异步处理,所以类似于:Timertimer=newTimer();timer.Interval=1000;timer.Elapsed+=timer_Elapsed;//Pleaseignorethisline.ButsomeanswersalreadygivenbasedonthislinesoIwillleaveitasitis.timer.Elapsed+=async(sender,arguments)=>awaittimer_Elapsed(sender,argum