[英]How can I restrict public access modifier in referenced library?
我有两个不同的库,它们引用了称为base.dll的基础库。 一个库用于Web平台,另一个库用于Windows平台(WPF)。 我必须限制在WPF平台中限制一个公共财产,但我想在Web平台中访问它。 如何实现呢? 我正在尝试条件编译,但我不知道该怎么做。 请帮我
对于Ex:-基本库:
public Class CommonClass{
public string CssClass
{
get;
set;
}
}
引用的库1(Web)–引用的基础库,需要访问此库中的CssClass
引用的库2:(WPF)-引用的基本库,需要限制此库中的CssClass
这实际上听起来像是设计缺陷。 您创建一个库,并定义该库的用户应可访问哪些属性。 通常,您不会从特定客户端隐藏特定属性。
但是,我认为您可以通过将属性设置为internal
并在base.dll
使用InternalsVisibleToAttribute
来实现所需的base.dll
:
[assembly: InternalsVisibleTo("webplatformassembly")]
public Class CommonClass{
internal string CssClass
{
get;
set;
}
}
这样,除了InternalsVisibleTo
属性中提到的那些属性外,任何客户端都看不到该属性。
另请参见: 朋友程序集(C#和Visual Basic)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.