Tag: c#

C#中接口的Java 1.6 @Override等效

这个问题给出了Java的@Override在方法上具有override关键字的C#等价物的答案。 但是,从Java 1.6开始,@ Override注释也可以应用于接口。 实际使用的是,在Java中,当一个类声称它实现了一个接口方法时(例如,如果删除了接口方法),就会遇到编译错误。 C#中有相同的function吗? 一些代码示例: Java的: public interface A { public void foo(); // public void bar(); // Removed method. } public class B implements A { @Override public void foo(); @Override public void bar(); // Compile error } C#: public interface IA { void Foo(); // void Bar(); // Removed method. } […]

在C#中加密的数据长度为1个字节,无法在Java中解密

我有一个用Java编写的服务器,它将其RSA密钥转换为.NET使用的XML格式,然后再将其发送到客户端: public String getPublicKeyXML() { try { KeyFactory factory = KeyFactory.getInstance(“RSA”); RSAPublicKeySpec publicKey = factory.getKeySpec(this.keyPair.getPublic(), RSAPublicKeySpec.class); byte[] modulus = publicKey.getModulus().toByteArray(); byte[] exponent = publicKey.getPublicExponent().toByteArray(); String modulusStr = Base64.encodeBytes(modulus); String exponentStr = Base64.encodeBytes(exponent); String format = “” + “%s” + “%s” + “”; return String.format(format, modulusStr, exponentStr); } catch (Exception e) { this.server.logException(e); return “”; } […]

Java相当于Invariant Culture

我正在将以下C#代码转换为Java。 是否存在与Invariant Culture的.NET概念相当的Java? string upper = myString.ToUpperInvariant(); 由于Invariant Culture实际上只是美国文化,我可以在Java中做这样的事情,但我想知道是否有更好的方法: String upper = myString.toUpperCase(Locale.US);

具有可变数量参数的函数

正如标题所说,我需要知道在方法参数中是否存在与java的相应的语法,例如 void printReport(String header, int… numbers) { //numbers represents varargs System.out.println(header); for (int num : numbers) { System.out.println(num); } } (代码由维基百科提供)

c#sealed和Java的final关键字之间是否有任何function差异?

可能重复: 在C#中Java的最终结果是什么? 在Java中,final不仅适用于一个类。 所以,我想知道:两个关键字之间是否有任何function差异? 谢谢,对不起相对noob的问题。 快速的Google搜索无法满足我的需求。

UUID与c#代码互操作

c#donet可以为以下java代码生成相同的UUID吗? 如果是这样的话? 我试过GUID但没有用! 文本: String cleartext = “CN=CompanyName;mac=some mac;@host=somehost;email=admin@somedomain.com;issued=01/01/20013;expire=12/12/2013”; Java代码: UUID uuid = UUID.nameUUIDFromBytes(cleartext.getBytes(“UTF-8”)); C#代码: byte[] b = System.Text.Encoding.UTF8.GetBytes(cleartext); Guid uid = new Guid(b); Console.Write(uid.ToString()); REF 早先的讨论

为什么我们使用动态代理

动态代理类是实现在运行时指定的接口列表的类,这样通过类的实例上的一个接口的方法调用将被编码并通过统一接口分派给另一个对象。 它可用于为接口列表创建类型安全的代理对象,而无需预生成代理类。动态代理类对需要在对象上提供类型安全的reflection调度调度的应用程序或库非常有用提供接口API 上面的图片很好,但为什么我们使用动态代理? 有没有一个简单的例子可以在现实世界中使用,以获得更多感知?

如何使RSACryptoServiceProvider无需填充(nopadding)?

我需要使C#应用程序与Java应用程序兼容。 Java应用程序使用Cipher.getInstance(“RSA/ECB/nopadding”); 初始化程序,使密码ECB和无填充。 但是,在C#中,您有2个填充选项:OAEP填充或PKCS#1 v1.5填充。 我需要一个无填充版本,否则我肯定会陷入我的项目中。 我认为没有办法让C#.NET RSACryptoServiceProvider使用无填充方案。 但是,是否存在允许此精度的RSA自定义类或库? PS:默认情况下是C#.NET的RSACryptoServiceProvider ECB吗? 我找不到关于此的文档。

64位计算机上的32位Java辅助function

我有一个32位应用程序,它使用Java Accessibility(WindowsAccessBridge-32.dll,通过Java Access Bridge),并且在32位计算机上运行良好,但在x64计算机上失败。 我相信我已将其追踪到Windows_run之后的第一个电话: getAccessibleContextFromHWND(hwnd, out vmId, out context) 定义如下: [return: MarshalAs(UnmanagedType.Bool)] [DllImport(“WindowsAccessBridge-32.dll”, CallingConvention = CallingConvention.Cdecl)] public extern static bool getAccessibleContextFromHWND(IntPtr hwnd, out Int32 vmID, out IntPtr acParent); 此调用在32位系统上正常工作,返回True,填充vmId(具有一些5位数值,其中)和上下文 – 而在64位系统上,它返回True,填充’context’,但返回vmId为’0’。 如果我假设0有效(即使它是一个类似于32位系统上的指针的随机5位数字),下一个调用仍然会失败: AccessibleContextInfo aci = new API.AccessibleContextInfo(); if (!getAccessibleContextInfo(vmId, context, ref aci)) throw new Exception(); 哪里: [return: MarshalAs(UnmanagedType.Bool)] [DllImport(“WindowsAccessBridge-32.dll”, CallingConvention = CallingConvention.Cdecl)] public extern […]

WCF能否与Java一起发挥作用?

哪种WCF服务协议适用于Java? TCP服务绑定是否适用于Java远程处理(Corba,EJB,JMS等)? 那些作为服务EndPoints公开的WebServices。 是否针对通用Java WebServices堆栈测试了这些是否具有互操作性?