CS0198 尽管使用了方法名称,但仍期望方法名称[关闭]

问题描述 投票:0回答:0

为什么下面的代码会报构建错误?

CS0149:需要方法名称


protected override void CreateDefaultObjectSpaceProvider(CreateCustomObjectSpaceProviderEventArgs args)
{
    var connectionString = args.ConnectionString;
    var handler = new EFCoreDatabaseProviderHandler<MyDbContext>(  MakeBuilder, connectionString ) ; // fails here with error cs0149 Method name expected.
    var efCoreObjectSpaceProvider = new SecuredEFCoreObjectSpaceProvider<MyDbContext>((ISelectDataSecurityProvider)Security, handler);
    args.ObjectSpaceProviders.Add(efCoreObjectSpaceProvider);
    args.ObjectSpaceProviders.Add(new NonPersistentObjectSpaceProvider(TypesInfo, null));
}

private DbContextOptionsBuilder<MyDbContext> MakeBuilder(string connectionString)
{
    var builder = new DbContextOptionsBuilder<MyDbContext>();
    builder.UseSqlServer(connectionString); 
    builder.UseSecurity((ISelectDataSecurityProvider)Security);
    builder.UseAudit();
    return builder;
} 

EFCoreDatabaseProviderHandler 定义

using Microsoft.EntityFrameworkCore;

namespace DevExpress.ExpressApp.EFCore

    public delegate void EFCoreDatabaseProviderHandler<TDbContext>(DbContextOptionsBuilder<TDbContext> dbContextOptionsBuilder, string connectionString) where TDbContext : DbContext;
}
c# .net-7.0 xaf
© www.soinside.com 2019 - 2024. All rights reserved.