C# 继承实现从.NET Framework到.NET标准的IValidatableObject的类
我有两个库-第一个在.NETFramework 4.6.1中,第二个在.NETStandard2.0中。(第二个取决于第一个) .NETFramework 4.6.1包含以下类C# 继承实现从.NET Framework到.NET标准的IValidatableObject的类,c#,.net,data-annotations,.net-standard,C#,.net,Data Annotations,.net Standard,我有两个库-第一个在.NETFramework 4.6.1中,第二个在.NETStandard2.0中。(第二个取决于第一个) .NETFramework 4.6.1包含以下类 public class Class_Framework : IValidatableObject { public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
public class Class_Framework : IValidatableObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
Console.WriteLine();
return null;
}
}
由于以下错误,我无法编译此代码:
类型“IValidatableObject”是在未引用的程序集中定义的。您必须添加对程序集“System.ComponentModel.DataAnnotations,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”的引用。
我知道在.NET标准中没有DataAnnotations库,所以我在.NET标准和.NET Framework库中都使用了NuGet System.ComponentModel.Annotations。最奇怪的是如果我改变
IStandardInterface Anistance=new Class_Standard()代码>
到
var-anistance=newclass_-Standard()代码>
那么一切都好了。您对如何/是否可以从.NET Framework库继承实现IValidatableObject的类有何建议?谢谢你不可行,句号。NetStandard2.0库只能从NetStandard2.0库继承,而不能从完整的.NET库继承
这是根据定义
您必须拆分类层次结构或将其他库移到另一个层次结构上。我们知道的还不足以在这里推荐一种体面的方法
interface IStandardInterface
{
string AProperty { get; set; }
}
class Class_Standard : Class_Framework, IStandardInterface
{
public string AProperty { get; set; }
}
public class MainStandardClass
{
public void AMethod()
{
IStandardInterface anInstance = new Class_Standard();
}
}