草庐IT

反射机制

全部标签

java - Windows 中 Java 和 C 之间的任何 IPC 机制——不需要套接字

我的要求是使用JSON字符串在Windows上的C客户端和Java服务器之间进行IPC。刚刚意识到我不能在Windows中通过java使用命名管道("\.\pipe\filename")。我不太热衷于使用任何基于网络的架构,因为它会变得更加复杂以确保安全性和速度。请推荐您碰巧知道的任何共享内存/快速解决方案?提前致谢:) 最佳答案 您可以在Windows上使用命名管道;thisquestion和thisquestion的答案给出了不同的解决方案。除此之外,通过使用llvm(在您的情况下为clang),然后使用LLJVMTransla

c++ - 有没有类似于UWP windows.protocol的桌面机制?

UWP应用可以使用ExtensionCategory="windows.protocol"(MSDN)注册自定义方案。我通过注册URI方案(MSDN)了解自定义协议(protocol)处理程序,但它们总是启动应用程序的新实例。我想要的是UWP应用程序的行为:如果当前有一个正在运行的实例,它将被激活。我还查看了URLMonikers和异步可插入协议(protocol)(MSDN),但它们仅在调用进程中的协议(protocol)时有效,例如在使用WebView时。即使某些其他进程(例如Web浏览器)调用该协议(protocol),UWP应用也会被激活。这是针对C++Win32桌面应用程序的

c - Windows 上 C/GTK 应用程序的简单更新机制

我正在开发C/GTK应用程序。我很快就会发布一个新版本,我认为在其中包含一些更新机制会很有用,这样应用程序就能够self更新。我真的只需要简单的东西;如果它只在Windows上运行就足够了,因为在Linux上,该应用程序位于存储库中,因此用户可以轻松更新它。所以我想问一下,是否有一些简单易行的方法来做到这一点(比如一些小型图书馆),或者我必须自己实现吗?谢谢。附言我真的想要一些非常简单的东西,例如,假设应用程序将从包含最新版本号的服务器下载网页。如果应用程序版本号!=服务器版本号,它会获取一个setup.exe,以某种方式检查其真实性并运行它。 最佳答案

c# - 在反射方法调用中访问网络共享

我们有一个访问网络共享的方法。该方法在直接调用时工作正常,但在通过反射调用时我们会得到一个System.IO.IOException。用户上下文似乎对反射(reflect)的代码不可用(请参阅下面的堆栈跟踪)。有办法避免这种情况吗?System.Reflection.TargetInvocationException:Exceptionhasbeenthrownbythetargetofaninvocation.--->System.IO.IOException:Logonfailure:unknownusernameorbadpassword.atSystem.IO.__Error.

c# - 如何在 C# 中设置带有反射的私有(private) lazy<T> 以进行测试?

问题描述我们有一个相当大的系统,过去常常使用私有(private)setter将数据加载到属性中。为了使用测试特定场景,我曾经使用私有(private)setter在这些属性中写入数据。但是,由于系统越来越慢,并且正在加载不必要的东西,我们使用Lazy类将某些东西更改为延迟加载。但是,现在我无法再将数据写入这些属性,因此许多单元测试将不再运行。我们曾经拥有的要测试的对象:publicclassComplexClass{publicDateTimeDate{get;privateset;}publicComplexClass(){//Sampledata,eagerloadingdata

c# - C# 类库的开发/运行时许可机制?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我正在开发一个.Net类库(一个数据提供者),我开始考虑如何处理向潜在购买者授予该库的许可。我所说的许可是指试图阻止未购买我的库的人使用我的库的机制,而不是软件许可(即Apache、Gnu等)。我从来没有处理过许可问题,过去,我一直在开发应用程序,而不是库。我不想为难我的客户;知道不可能让它铁定。只是一些机制可以为我提供体面的保护,而不会让客户跳来跳去或咬牙切齿。我认为当类在开发模式下使用时该机制会检查有

c# - 向动态创建的程序集授予反射权限

我正在用C#编写一个简单的桌面客户端/服务器应用程序。出于自学目的,我为通过tcp/ip套接字连接在两个应用程序之间来回发送的消息(定义为类)构建了自己的序列化系统。系统在初始化时使用反射,通过发出IL为每种消息类型构造序列化/反序列化方法。该系统的第一个版本使用DynamicMethod,将true传递给构造函数以允许生成的IL(对消息类型中的任意字段进行操作)忽略访问权限。这奏效了,人们很高兴,但我对调试结果函数的过程是多么痛苦不透明感到不满。因此,我决定放弃DynamicMethod并使用*Builder类来构造一个动态程序集,我可以选择将其保存到磁盘并使用.NETReflect

c# - 如何使用强类型反射查找泛型类方法的 MethodInfo?

我想从具有仅在运行时已知的类型参数的泛型类中获取方法的MethodInfo。下面是我如何从非泛型类中获取泛型方法的MethodInfo:classMyClass{publicvoidMyMethod(Targ){}}staticMethodInfoResolve(Typetype){Expression>lambda=(c,a)=>c.MyMethod(a);MethodCallExpressioncall=lambda.BodyasMethodCallExpression;returncall.Method//GetMethodInfoforMyClass.MyMethod.GetG

c# - 反射类型与类型描述符

最近我一直在使用反射在我的项目中工作,我有当前的问题。在Type.GetProperties(Flags)中,我们可以使用“Flags”过滤我们获得的属性;在TypeDescriptor.GetProperties()中,我们没有。在type.GetProperties中,我可以过滤以仅获取未继承的属性。是否可以对TypeDescriptor.GetProperties()执行相同的操作(仅不继承属性)?谢谢 最佳答案 不,你不能。TypeDescriptor.GetProperties()用于获取PropertyDescripto

c# - 通过反射调用带有可选参数的方法

这个问题在这里已经有了答案:Invokingmethodswithoptionalparametersthroughreflection(6个答案)关闭6年前。我可以使用Type.InvokeMember通过反射调用一个方法,它看起来非常健壮,例如处理param数组参数。但出于某种原因,它不处理可选参数。是否有更好的内置方法来调用考虑了可选参数的方法(可能使用DLR)?