gpt4 book ai didi

c# - Java 到 C# 的转换

转载 作者:行者123 更新时间:2023-12-01 17:41:00 24 4
gpt4 key购买 nike

我需要将几个 Java 类转换为 C#,但我遇到了一些问题。

在 Java 中,我有以下类层次结构:

public abstract class AbstractObject {
public String getId() {
return id;
}
}

public class ConcreteObject extends AbstractObject {
public void setId(String id) {
this.id= id;
}
}

AbstractObject 的实现不需要定义 setId(),因此我无法将其在层次结构中向上移动。

如何使用属性将其转换为 C#?这可能吗?

最佳答案

当您仅提供 .Net 中属性的 get 部分时,您就明确告诉编译器该属性是只读的。这比不提供集合更重要。这在 vb 版本的属性语法中很明显,您还必须显式声明该属性为只读。

您可以做的是同时提供 getter 和 setter,但在抽象 setter 中抛出 NotImplementedException,用适当的属性和文档装饰它,以便没有人使用它,除非setter 已被属性覆盖。否则,您可能最好还是将它们保留为方法,以避免 Java 和 .Net 版本的代码之间脱节。

关于c# - Java 到 C# 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com