C#:在接口中实现一个抽象属性来实现一个child
C#: Implement a abstract property in an interface to implement a child
我在互联网上找不到答案,所以我会寻求你的帮助。
我有一个摘要 class:
public abstract class AbstractClass
{
String Name { get; }
}
Child Class 1:
public class ApplicationDetailsModel : AbstractClass
{
// This will implement unique properties
}
每个实现 IComponent 的 class 将实现 "AbstactClass" 的 child。
示例实现:
public class ExampleClass : IComponent
{
public ApplicationDetailsModel DetailsModel;
}
还有一个界面
public interface IComponent : IPageViewModel
{
AbstractClass DetailsModel { get; }
}
此示例无法编译,因为接口强制实现
摘要Class DetailsModel = new ApplicationDetailsModel();
是否有正确的方法来强制实现接口中特定抽象 class 的 child 属性?
使用约束使您的界面通用
public interface IComponent<T> : IPageViewModel
where T : AbstractClass
{
T DetailsModel {get;}
}
举例:
public class ExampleClass : IComponent<ApplicationDetailsModel>{
{
public ApplicationDetailsModel DetailsModel { get; private set; }
}
我在互联网上找不到答案,所以我会寻求你的帮助。 我有一个摘要 class:
public abstract class AbstractClass
{
String Name { get; }
}
Child Class 1:
public class ApplicationDetailsModel : AbstractClass
{
// This will implement unique properties
}
每个实现 IComponent 的 class 将实现 "AbstactClass" 的 child。
示例实现:
public class ExampleClass : IComponent
{
public ApplicationDetailsModel DetailsModel;
}
还有一个界面
public interface IComponent : IPageViewModel
{
AbstractClass DetailsModel { get; }
}
此示例无法编译,因为接口强制实现
摘要Class DetailsModel = new ApplicationDetailsModel();
是否有正确的方法来强制实现接口中特定抽象 class 的 child 属性?
使用约束使您的界面通用
public interface IComponent<T> : IPageViewModel
where T : AbstractClass
{
T DetailsModel {get;}
}
举例:
public class ExampleClass : IComponent<ApplicationDetailsModel>{
{
public ApplicationDetailsModel DetailsModel { get; private set; }
}