gpt4 book ai didi

具有动态类型的 C# 接口(interface)/抽象类

转载 作者:太空狗 更新时间:2023-10-30 00:08:57 25 4
gpt4 key购买 nike

我正在编写一系列基于数学的类,每个类都继承自一个抽象类。我希望我的抽象类有一个名为 Parameters 的 getter 和 setter。

public abstract dynamic Parameters {get; set;}

然后在每个单独的数学课中我想实现具有特定类型的参数:

如果类(class)需要时间,我会这样做:

public override IPeriod Parameters {get; set;}

这不会编译。显然,我可以将返回类型更改为 dynamic 并且它会起作用,但随后我失去了智能感知。有没有一种标准的方法可以在不丢失智能感知的情况下执行此操作?

每个类(class)都有一个参数{get; set;} 但它们将是不同的类型。从抽象类中删除参数是否更好?

最佳答案

是的,使用泛型..

public MyAbstractBaseClass<T>
{
public abstract T Parameters {get; set;}
}

然后您可以继承指定将用于参数的类型,例如..

public PeriodClass : MyAbstractBaseClass<IPeriod>
{
public override IPeriod Parameters {get; set;}
}

关于具有动态类型的 C# 接口(interface)/抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com