Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从公共程序集中限制类对象的使用?_C#_.net - Fatal编程技术网

C# 如何从公共程序集中限制类对象的使用?

C# 如何从公共程序集中限制类对象的使用?,c#,.net,C#,.net,我已经从“AssemblyName”在类中创建了新的公共对象。此外,“AssemblyName”用于Windows应用程序以及Web应用程序。现在,我只需要在Web应用程序中使用“AssemblyName”时访问公共对象。当它在Windows应用程序中使用时,它在“AssemblyName”中不应可见 “AssemblyName”是用于Web和Windows应用程序的通用程序集。但是,只有在Web应用程序中使用该程序集时,才能访问在该程序集中创建的对象 有没有可能做到这一点 提前感谢。您可以将对

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

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

有没有可能做到这一点


提前感谢。

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

本质上,您可以编写以下代码:

using System.Runtime.CompilerServices;
using System;

.....

[assembly: InternalsVisibleTo("WebAssembly")]

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

你能不能少说些“引语”,多说些你在做什么?