c# - 程序集和类的类实例化(“新”)问题
问题描述
我正在开发一个项目,该项目要求我只通过它自己的程序集实例化(“新”)一个类,而不是其他程序集。这可能吗?
我尝试使用抽象,但这意味着我无法在任何地方实例化它。
示例:以下类位于同一项目/程序集中。
public class Banana
{
public Banana()
{
...
}
}
public class Food.
{
public static Banana InstantiateBanana()
{
Banana banana = new Banana();//<=====How can you instantiate it inside the same assembly? I don't want other assemblies to instantiate it.
...
return banana;
}
}
解决方案
我想到了!
public class Banana
{
private Banana()
{
...
}
public static Banana InstantiateBanana()
{
Banana banana = new Banana();//<=====How can you instantiate it inside this class? I don't want other assemblies to instantiate it.
...
return banana;
}
}
这应该有效。仅在其自己的类中实例化 Banana 类,而不是在其他类中。我只需要一个私有构造函数和一个静态方法来实例化。
推荐阅读
- android - UE4 为不同平台编译现有插件
- python - 运行在 C 程序中导入 Numpy 的 Python 脚本时出错
- web-scraping - 使用谷歌表格中的 SKU 列表从 GOAT 市场中提取数据
- api - 如何从第一个 api 获取不同的值并使用空手道传入第二个 api
- r - 使用 purrr 的 R 多个循环,其中输出是数据表/小标题/矩阵
- macos - M1/Intel 的 Brew 变量
- python - 循环发布请求
- mysql - 有没有一种好方法可以让 MySQL 中的孩子作为一个数组?
- bash - 如何将字符串转换为修改后的十六进制表示?
- sql - SQL Case When 语句涉及 3 列