默认情况下接口是否公开?

问题描述 投票:-1回答:1

我记得默认情况下界面是公开的。我错了吗?当我尝试从接口实现“公共静态”方法时。 VS告诉我,界面中的方法比“公共静态”方法更难以访问。当我将公共添加到接口时,它已修复。默认情况下接口是否公开?

interface IDoubleFloatEventInvoker {
 void AddListener(EventName eventName, UnityAction<float, float> unityAction);
}

public static void AddInvoker(EventName eventName, IDoubleFloatEventInvoker invoker)
{
    foreach (UnityAction<float, float> listener in doubleFloatListeners[eventName])
    {
        invoker.AddListener(eventName, listener);
    }
    doubleFloatInvokers[eventName].Add(invoker);
}

“VS说IDoubleFloatEventInvoker比AddInvoker函数更难访问”

c# interface static access-modifiers
1个回答
5
投票

接口成员是公共的,但是如果没有设置可访问性,接口本身将默认为internal,就像类一样。

对于公开的成员,这不完全是'默认',它们总是公开的,并且试图在它们上设置可访问性将导致编译错误。

© www.soinside.com 2019 - 2024. All rights reserved.