如何限制类对象的使用来自普通程序集?

时间:2017-06-01 10:22:02

标签: c# .net

我在“AssemblyName”中创建了我的类中的新公共对象。此外,“AssemblyName”用于Windows应用程序以及Web应用程序。现在我只有在Web应用程序中使用“AssemblyName”时才需要访问公共对象。在Windows应用程序中使用它时,它在“AssemblyName”中不可见。

“AssemblyName”是用于Web和Windows应用程序的通用程序集。但是只有在Web应用程序中使用该程序集时才能访问在该程序集中创建的对象。

有可能实现这个目标吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以将对象定义为“内部”或“朋友”而非公开,并使用“朋友程序集”功能:

MSDN Friend assemblies

实质上你可以编码:

using System.Runtime.CompilerServices;
using System;

.....

[assembly: InternalsVisibleTo("WebAssembly")]

答案 1 :(得分:0)

如何将该对象设为私有,通过公共函数访问它,该函数根据环境返回null或对象?