gpt4 book ai didi

c# - 为什么具有默认值枚举参数的泛型类的构造函数无法调用该类的 protected 方法?

转载 作者:太空狗 更新时间:2023-10-29 20:40:08 31 4
gpt4 key购买 nike

一个简单的测试用例:

using System;

public class Test<T>
{
public enum TestEnum
{
A,
B
}
public Test (TestEnum a = TestEnum.A)
{
DoSomething ();
}

protected void DoSomething()
{
}
}

编译器(这是在 Unity3D 项目中使用 Mono,.NET4.0 目标)在 Test() 中的调用中出错至 DoSomething() .如果我删除 TestEnum a 上的默认参数,它构建得很好。 MonoDevelop要调用默认参数TestEnum<>.A , 但那不会编译,TestEnum<T>.A 也不会(显然我不希望这些工作,但使用 MonoDevelop 的自动完成这就是我得到的)。

编辑:具体错误是:the name DoSomething doesn't exists in the current context

最佳答案

如评论中所述,这是一个编译器错误。

看来您的 Mono 开发环境不太喜欢 protected 关键字。

现在使用{public,private}。

关于c# - 为什么具有默认值枚举参数的泛型类的构造函数无法调用该类的 protected 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995260/

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