【问题标题】:How can I get an intellisense instance to customize its method list?如何获取智能感知实例来自定义其方法列表?
【发布时间】:2017-04-17 09:52:26
【问题描述】:

我需要限制对智能感知类中某些方法的访问。我不希望这种方法完全从其他类的智能感知中消失。我的意思是这些方法在智能感知中的可见性取决于想要使用该方法的类。如何使用 C# 代码达到智能?我想为方法定义一个属性,然后根据每个客户端访问级别自定义智能感知。 谢谢。

【问题讨论】:

标签: c#


【解决方案1】:

您可以使用类方法的子集创建接口,并且只针对该接口工作。这样 IntelliSense 只能看到接口中的方法,而不是实现接口的类的附加方法。

【讨论】:

  • 谢谢Progman,但这并不能解决我的问题,公司的其他团队显然无法更改他们的注入接口。
【解决方案2】:

我找到了答案。我应该使用 EditorBrowsableAttribute。它有一个属性应该设置为 Never。像这样: [EditorBrowsable(EditorBrowsableState.Never)] 公共无效 myMethod(){} MsDN 说这个设置隐藏了程序集外部项目的方法。但是,当我对其进行测试时,它在已添加我的 dll 的解决方案之外的项目中隐藏了智能感知的方法。但它不会将它隐藏在我的解决方案中并具有 dll 的项目中。我不知道为什么,但无论如何它解决了我们的问题。

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 2023-04-01
    • 1970-01-01
    • 2017-01-26
    • 2014-11-25
    • 2019-01-13
    • 2014-09-02
    • 2011-08-25
    • 2011-12-31
    相关资源
    最近更新 更多