C# 委托(delegate)到 Java 的转换

标签 c# java

我正在将一些代码从 C# 转换为 Java。我以前从未使用过 C#,但到目前为止它非常简单。

我在 C# 文件中有一行如下所示:

 coverage.createMethod = delegate (Gridpoint gp){
 //Some method stuff in here, with a return objecct
 }

这到底想做什么?它看起来有点像内联类,但我不知道如何将 htis 转换为 java

编辑:有关具体问题的更多信息

在一个名为 STKDriver.java 的文件中,我有以下内容

 CoverageDefinitionOnCentralBody coverage = new CoverageDefinitionOnCentralBody(...);
 .
 .
 .
 DClass value = new DClass(STKDriver.class, "invoke", CoverageGrid.class);
 coverage.setGridPointCreationMethod(value);

在扩展 CreateCoverageGridPointForAccess 的填充 DClass.java 中,我有以下内容:

 public DClass(Class class1, String string, Class<CoverageGridPoint> class2{}
 .
 .
 .
 public IServiceProvider invoke(CoverageGridPoint gridPoint){
    return something; //of the classtype Platform
 }

这样做正确吗?类定义链接如下:

http://www.agi.com/resources/help/online/AGIComponentsJava/index.html?page=source%2FWhatsNewJava.html

请注意,CreateCoverageGridPointForAccess 类是抽象类,并且扩展了该 Delegate 类。

我创建的这个实现看起来正确吗?如果需要的话我可以写更多的代码

最佳答案

这是 C# 中的匿名方法。从技术上讲,它与以下内容相同:

coverage.createMethod = new Func<Gridpoint, object>(SampleMethod);

public object SampleMethod(Gridpoint gp)
{
    return thingy; // Pseudo for return value
}

这只是您可以用来减少编码的快捷方式。

关于C# 委托(delegate)到 Java 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851503/

相关文章:

c# - 有什么备受瞩目的开源金融项目吗?

c# - 使用 C# API 将 Google BiqQuery 结果导出到 Google Sheets 的最佳方法

java - 我可以在Java对象中实现Groovy的getProperty吗

java - JSON 日期解析器,以少日形式发布

c# - nuget 包 hangfire.aspnetcore 和 hangfire 和 hangfire.core 之间有什么区别?

c# - 当 WritableBitmap.BackBuffer 在非 UI 线程中更新时应用程序停止响应?

c# - 在 VS 2015 中创建 .Net 4.5.2 项目的问题。似乎得到了 vNext 项目

java - 检查条件的命令

java - 我的拖放功能在 Android Studio 中不起作用

java - 分析 Jar 的内存和 CPU 使用情况