gpt4 book ai didi

c# - 访问其他类中实现的接口(interface)方法

转载 作者:行者123 更新时间:2023-12-03 19:15:20 24 4
gpt4 key购买 nike

我是 C# 新手,正在尝试实现一个接口(interface)。我知道我不能将访问修饰符放在接口(interface)方法上,那么如何在下面的“TestClass2”的公共(public)静态“Create”方法中访问“TestValue”?我得到的错误是...

“TestClass1”不包含“TestValue”的定义,并且找不到接受“TestClass1”类型的第一个参数的扩展方法“TestValue”

public interface IParent
{
string TestValue { get; }
}

public class TestClass1 : IParent
{
string IParent.TestValue
{
get { return "hello"; }
}
}

public class TestClass2
{
private string _testValue;

public static TestClass2 Create(TestClass1 input)
{
TestClass2 output = new TestClass2();
output._testValue = input.TestValue;
return output;
}
}

最佳答案

在您的具体实现中添加public访问修饰符:

public class TestClass1 : IParent
{
private TestClass1 _testValue;

public string TestValue
{
get { return "hello"; }
}
}

编辑:因为您实际编写了一个显式接口(interface)实现,所以我建议您查看以下 SO 问题:C# Interfaces. Implicit implementation versus Explicit implementation

关于c# - 访问其他类中实现的接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452345/

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