C#开发组件,如何让某些类和成员不显示给用户

lin6194 2010-10-16 02:59:05
我在用C#开发一个组件,这个组件中包含多个类,有什么办法可以控制这些类的显示。比如下面的代码,当用户引用我的组件的时候,我不想让他看到组件里面的 DllInvoke 类。我使用 [Browsable(false)] 描述,但是不起作用,这个描述对于类中 pulic 方法和属性也不起作用,只有private起作用,求高手帮忙告诉我解决的方法。C#我刚开始用不久,菜鸟一个。



[Browsable(false)] <- 这个描述无法将DllInvode类隐藏起来
public class DllInvoke
{
[Browsable(false)]
public string dontShowup1 <- 引用组件的时候还是看得到他

[Browsable(false)]
private string dontShowup2 <- private引用组件时就不会显示出来
。。。
}

...全文
371 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshi123 2010-10-17
  • 打赏
  • 举报
回复
internal 表示同一程序集中可以访问,同一程序集中相当于public, 不同程序集相当于private
http://msdn.microsoft.com/zh-cn/library/7c5ka91b%28VS.80%29.aspx

EditorBrowsable 表示在html设计器(或html文本编辑器等)的属性页、智能感知等中,是否需要列出,
并不影响代码的可访问性级别
http://msdn.microsoft.com/zh-cn/library/system.componentmodel.editorbrowsableattribute.aspx
ttyyadd 2010-10-17
  • 打赏
  • 举报
回复
成员是不是声明为private的级别的就可以了
petrie 2010-10-17
  • 打赏
  • 举报
回复
////
lin6194 2010-10-17
  • 打赏
  • 举报
回复
我又改回到Internal了。
lin6194 2010-10-17
  • 打赏
  • 举报
回复
结贴了
ICanUseThisID 2010-10-16
  • 打赏
  • 举报
回复
EditorBrowsable 只是设置编辑器中的可见性,仍可强行调用。
lin6194 2010-10-16
  • 打赏
  • 举报
回复
EditorBrowsable 这类标记应该是比较推荐的做法吧,用internal后类的成员访问性不好控制了。
机器人 2010-10-16
  • 打赏
  • 举报
回复
internal 可以修饰在方法和属性上。
huangerlong 2010-10-16
  • 打赏
  • 举报
回复
支持。。。。。。。。。。
wanghui0380 2010-10-16
  • 打赏
  • 举报
回复
internal可以

不过实际上特性标记也同样可以滴,只是你用错了标记

这一个要求的特性标记应该是EditorBrowsable

详细的资料,看下面
http://www.cnblogs.com/anytao/archive/2009/10/30/must_net_34.html
pan512 2010-10-16
  • 打赏
  • 举报
回复
不懂,顶一个
ICanUseThisID 2010-10-16
  • 打赏
  • 举报
回复
也用internal好了
lin6194 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 icanusethisid 的回复:]
C# code

internal class DllInvoke
{...}
[/Quote]

多谢,internal已经搞定了Class。

属性和方法用什么关键字可以屏蔽掉?
zjx198934 2010-10-16
  • 打赏
  • 举报
回复
没遇到过!
ashlilani1 2010-10-16
  • 打赏
  • 举报
回复
这个还真不知道,呵呵
nbhx2010 2010-10-16
  • 打赏
  • 举报
回复
这个还真不知道
ICanUseThisID 2010-10-16
  • 打赏
  • 举报
回复

internal class DllInvoke
{...}
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
[Browsable(false), Category(""), Description("")]
Browsable(false):指定一个事件或者在属性是否显示在属性的窗口中。
[WebCategory("Action"), WebSysDescription("Button_OnClick")]
public event EventHandler Click
{
}

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧