Tag: c#

从Java调用C#dll

我是一名Java开发人员。 但是,出于某种原因,我必须借助C#来完成我的任务。 我有下面提到的用于创建DLL的C#代码。 必须在我的Java程序中使用该DLL来完成所需的操作。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Word; namespace Yrl.Tracingtool { public class DocxUtil { public Application Jump(string fileName) { object fileNameAsObject = (object)fileName; Application wordApplication; try { wordApplication = new Application(); object readnly = false; object missing = System.Reflection.Missing.Value; wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readnly, ref missing, ref […]

在Java / J2ME中与UI线程交互

我正在编写一个J2ME应用程序。 其中一个部分定期轮询目录的内容,如果有任何新内容,则在屏幕上绘制它们。 我已经通过让UI表单启动一个带有指针返回自身的轮询线程来完成此操作,并且当轮询线程找到它回调到表单并调用syncrhonized方法来更新它的显示时。 这似乎工作正常。 我的问题是这个。 在C#/ .NET中我知道让非UI线程更新UI并不好,处理它的正确方法是将其委托给UI线程。 例如以下内容: public void DoSomeUIThing() { if (this.uiComponent.InvokeRequired) { this.uiComponent.Invoke(someDelegateThatCallsBackToThis); } else { this.uiComponent.Text = “This is the update I want to happen”; } } 有关于如何管理此过程的J2ME等价物吗? Java怎么样? 或者Java / J2ME在这方面做得更好? 如果没有,这是怎么做到的? [编辑]看来Swing支持我通过SwingUtilities.invokeLater()和invokeAndWait()方法询问的内容。 是否有J2ME的等效框架?

Java或C#中的事件/代理

我一直在努力学习事件/代表,但我对两者之间的关系感到困惑。 我知道委托允许你调用不同的函数,而不需要知道调用什么特定的函数。 (例如:图形函数需要接受要绘制的不同函数的输入)。 但我没有看到代表如何在事件中使用。 有人可以构建一个简单的示例(伪代码或C#或Java),说明代理与事件相关的工作方式吗? 谢谢!

在C#或Java中进行Base64解码

我有一个Base64编码的对象与以下标题: application/x-xfdl;content-encoding=”asc-gzip” 解码对象的最佳方法是什么? 我需要剥离第一行吗? 另外,如果我把它变成一个字节数组(byte []),我该怎么解压缩呢? 谢谢! 我想我最初错过了。 通过说标题是 application/x-xfdl;content-encoding=”asc-gzip” 我的意思是这是文件的第一行。 因此,为了使用Java或C#库来解码文件,是否需要删除此行? 如果是这样,剥离第一行的最简单方法是什么?

有没有办法在C#中抑制类似于Java的@SuppressWarnings注释的警告?

有没有办法在C#中抑制类似于Java的@SuppressWarnings注释的警告? 如果失败了,还有另一种方法来抑制Visual Studio中的警告吗?

java字节是否与C#字节相同?

如果输入参数是字节数组 – byte [],则dll中的native方法在java中工作。 如果我们使用c#中的相同方法,则抛出EntryPointNotFoundException。 是因为java和c#中的byte []是不同的东西? 如果是这样我应该如何使用c#中的本机函数?

你如何强制构造函数签名和静态方法?

是否有一种方法可以强制(子)类在C#或Java中使用具有特定签名或特定静态方法的构造函数? 你显然不能使用接口,我知道它的用途有限。 我发现它有用的一个实例是当你想强制执行一些设计指南时,例如: 例外 它们应该都有四个规范构造函数,但是没有办法强制执行它。 你必须依靠像FxCop(C#case)之类的工具来捕获它们。 运营商 没有合同规定可以对两个类求和(在C#中使用operator +) 是否有任何设计模式可以解决此限制? 可以在语言中添加什么构造来克服C#或Java的未来版本中的这种限制?

为什么可选参数必须出现在声明的末尾

在所有支持可选参数的编程语言中,我都看到可选参数必须出现在声明的末尾。 可选项目后可能不包含必需参数。 这是什么原因? 我想这可能是编译器/解释器的要求。

单根类层次结构的优点

对不起,如果这是一个愚蠢的问题,但我想了解单一根类(对象)层次结构在.Net,Java等语言中的所有优点。 我可以想到一个优点,假设我有一个函数,我想接受所有类型的(引用)数据类型。 那么在那种情况下,我可以编写我的函数,而不是为每种数据类型编写函数。 public void MyFun(object obj) { // Some code } 我们从这种类型的层次结构中获得了所有其他优势?

为什么Java类既不是抽象的也不是最终的

假设我有一个只包含静态方法和变量的实用程序类。 例如: public abstract final class StringUtils { public static final String NEW_LINE = System.getProperty(“line.separator”); public static boolean isNotNullOrSpace(final String string) { return !(string == null || string.length() < 1 || string.trim().length() < 1); } } 在这种情况下,使类既抽象又最终是有意义的。 摘要因为制作这个类的对象没有用,因为所有方法都可以静态访问。 最后因为派生类不能从该类inheritance任何内容,因为它没有任何非静态成员。 C#允许这些类的静态修饰符。 为什么Java不支持这个?