c#构造函数重载

本文关键字:重载 构造函数 | 更新日期: 2023-09-27 18:17:41

我为我的类创建了以下构造函数:

public class AccountService : IAccountService
{
    public AccountService(Meta meta)
    {
        Initialize(meta.DataSourceID);
    }
    public AccountService(string dataSourceID)
    {
        Initialize(dataSourceID);
    }

但是当我调用这个类时:

_accountService = new AccountService(vm.Meta);

我得到以下消息:

错误16最佳重载方法匹配'AccountService.AccountService(string)'有一些无效参数

我在这里错过了一些基本的东西吗?编码时,智能感知给了我两个选项和有没有语法错误,当我使用智能感知选择vm.Meta?类型中声明构造函数吗接口?

c#构造函数重载

我需要在接口中声明构造函数吗?

。不能在接口中声明构造函数。接口表示你的类型的公共api的声明;它们没有以任何方式指定如何创建实现类

你的代码至少在概念上是正确的;问题很可能是vm.Meta不是类型Meta,或者是继承自Meta的类型。