【发布时间】:2017-03-11 15:37:17
【问题描述】:
我有一些代码使用了一个类,该类是从 Java 和 IKVM 转换的,用于 .NET。所以我的代码示例在实例化类的时候使用了VAR,比如:
var Something = new OriginallyFromJavaClass("c:\ReadInThisFile.txt");
然后这个类的方法对该文本文件执行一些操作,例如:
var analyze = OriginallyFromJavaClass.method1(whatever);
请注意,该类的这些其他用途不引用“Something”,而只是直接调用 java 类名而不使用“new”字。
问题是读取文本文件一次需要大约 30 秒,所以我想在我的 WinForms 应用程序中只执行一次,然后单击按钮调用其他方法。但是,如果我将上面的代码行移到我的类级别,因此我只需要打开 TXT 文件一次,C# 编译器就会失败,因为它不允许在类级别使用 VAR 类型。我从根本上知道,从使用 GetType 来评估这个变量,它是一个类。那么我将如何使用显式类型重构上述内容以及我在哪里实例化类(从而读取我的 TXT 文件)一次?
【问题讨论】:
-
它是什么类型的?这就是它的类型。使用那种类型。代码显示
new OriginallyFromJavaClass()。这就是它的类型。这就是它的类型。对象的类型就是它所属的类。类就是类型。将该字段声明为该类型。它可能是什么其他类型?看起来你在那里创建一个整数吗? 你尝试什么了吗? -
OriginallyFromJavaClass Something = new OriginallyFromJavaClass(@"c:\ReadInThisFile.txt"); -
只要找出变量是什么类型,然后用你的类型替换
var...?即var Something =将变为OriginallyFromJavaClass Something = -
埃德,是的,我确实尝试过。谢谢你只是消极。我的困惑源于这样一个事实,即这涉及一些移植的 Java 代码,而我尝试过的通用方法不起作用。