我正在嘗試爲單元測試目的創建一個存根類。 Stub指向類定義的完全相同,但編譯器認爲它們不同,不知何故。因此,我不斷收到以下消息:無法將'MyClass'轉換爲'MyClass'
無法隱式轉換類型 「MeasurementContracts.Business.Services.EmployeeData」到 「EmployeeData工作」
- 有對'NO其他定義EmployeeData工作」
- 出於某種原因,它 「認爲」 有2
這會導致什麼?
類的樣子:
namespace MeasurementContracts.Business.Services
{
/// <summary>A data service model</summary>
public class EmployeeData
{
public int EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
public string EmailAddress { get; set; }
public string KnownAs { get; set; }
public string Login { get; set; }
public string DomainName { get; set; }
public string EmployeeStatusName { get; set; }
public string WorkNumber { get; set; }
public string SystemPersonType { get; set; }
public string PersonType { get; set; }
public string CellPhoneNumber { get; set; }
public string OrganizationOrCostCenter { get; set; }
public string OrganizationalLevel1Description { get; set; }
public string PositionName { get; set; }
public int SupervisorId { get; set; }
public string GetName(bool useKnowAs = true)
{
if (useKnowAs && !string.IsNullOrWhiteSpace(this.KnownAs))
return $"{this.KnownAs} {this.LastName}";
return $"{this.FirstName} {this.LastName}";
}
}
}
存根樣子:
namespace MeasurementContracts.UnitTests
{
using OData.Client;
using MeasurementContracts.Business.Services;
using System;
using System.Collections.Generic;
using System.Linq;
/// <summary>A proxy stub</summary>
public class ODataProxyStub : ODataProxy
{
#region <Constructors>
public ODataProxyStub()
{
Entities = new List<EmployeeData>();
}
#endregion
#region <Properties>
public List<EmployeeData> Entities { get; set; }
#endregion
#region <Properties>
public override EmployeeData GetItem<EmployeeData>(string query)
{
// This is NOT working?
return Entities.FirstOrDefault();
}
public override IEnumerable<EmployeeData> GetList<EmployeeData>(string query)
{
throw new NotImplementedException();
}
public override EmployeeData Post<EmployeeData>(string query, IEnumerable<object> parameters)
{
throw new NotImplementedException();
}
#endregion
}
}
代理BASE LOOKS LIKE:
namespace OData.Client
{
public class ODataProxy
{
protected readonly HttpClient Client;
public ODataProxy();
public string BaseUrl { get; set; }
public virtual T GetItem<T>(string query);
public virtual IEnumerable<T> GetList<T>(string query);
public virtual T Post<T>(string query, IEnumerable<object> parameters);
}
}
您有兩個不同的名稱空間,您需要指定要使用哪一個。 –
@Tamas更改名稱空間路徑不起作用 –
您是否可以在https://stackoverflow.com/help/mcve中複製它? – mjwills