首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在分层架构中指定程序集

在分层架构中指定程序集
EN

Stack Overflow用户
提问于 2022-09-22 15:43:59
回答 1查看 17关注 0票数 1

我在web program.cs中指定分层体系结构中的映射服务操作,但我希望在另一层使用此应用程序。我很难选择集会。

网络层Program.cs

代码语言:javascript
运行
复制
var config = TypeAdapterConfig.GlobalSettings;
config.Scan(Assembly.GetAssembly(typeof(UserMappingConfig)));
builder.Services.AddSingleton(config);
builder.Services.AddScoped<IMapper, ServiceMapper>();

服务层映射类

代码语言:javascript
运行
复制
namespace Exams.Service.Mapping
{
    public class QuestionMappingConfig : IRegister
    {
        public void Register(TypeAdapterConfig config)
        {
            config.NewConfig<QuestionViewModel, Question>().IgnoreNullValues(true);
            config.NewConfig<List<QuestionViewModel>,List<Question>>().IgnoreNullValues(true);
            config.NewConfig<Question, QuestionViewModel>().IgnoreNullValues(true);
        }
    }
}

我收到这样的警告

严重性代码描述项目文件行抑制状态警告CS8604在“IList TypeAdapterConfig.Scan(params Assembly[]程序集)”中参数“程序集”可能为空引用参数。

总之,对于我必须在Web层中定义的Mapster应用程序,我想使用我在服务层中定义的配置,但是我很难选择程序集。我怎么才能修好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-22 19:29:46

Assembly.GetAssembly返回Assembly? (参见可空引用类型),您可以使用null-宽恕运算符(!):

代码语言:javascript
运行
复制
config.Scan(Assembly.GetAssembly(typeof(UserMappingConfig))!);

或者只需从类型实例中使用Assembly

代码语言:javascript
运行
复制
config.Scan(typeof(UserMappingConfig).Assembly);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73817425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档