我建立一个单位转换库,并因与扩展方法一个奇怪的问题:我的扩展方法不起作用
我试图扩展方法添加到该接口:
namespace ClassLibrary1
{
public interface DistanceType
{
double ConversionFactorToStandardUnit { get; }
}
}
在另一类,我有这样的扩展方法:
namespace ClassLibrary1.DistanceTypes.Imperial.Inch
{
public static class DistanceTypeExtension
{
public static Inch Inch(this DistanceType passedDistance)
{
return new Inch();
}
}
}
但是当我尝试使用它:
using ClassLibrary1.DistanceTypes.Imperial;
using ClassLibrary1.DistanceTypes.Imperial.Inch;
namespace ClassLibrary1
{
[TestClass]
public class ImperialTests
{
[TestMethod]
public void ExtensionTest()
{
Distance d = new Distance(5, DistanceType.Inch());
Assert.AreEqual(5, d.ToDoubleAsInches());
}
}
}
我得到一个错误说DistanceType不contatin定义为英寸
扩展方法通过类型 –