我可以有一个抽象基类,其关键属性是通用的

发布于 2024-08-31 20:45:40 字数 150 浏览 3 评论 0原文

我想创建一个可重用的库。我本来打算使用扩展方法,但是在某些情况下我遇到了一些问题,客户端必须在调用方法中指定类型。

问题 - 如果我使用抽象基类作为基础,我可以在类中指定通用属性/属性(例如,关键属性在一种情况下可能是“int”,在另一种情况下可能是“string”)?

I want to create a re-usable library. I was going to use extension methods however I run into some issues in some cases for the client to have to specify in the calling method the types.

QUESTION - If I use an abstract base class as the basis, can I specify an attribute/property in the class to be generic (e.g. the key property might be an 'int' in one case, or a 'string' in another)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

£烟消云散 2024-09-07 20:45:40

是的。

public abstract class MyBase<T>
{
    public abstract T GetSomething();
}

public class MyConcreteType : MyBase<int>
{
    public override int GetSomething()
    {
         return 3;
    }
}

或者,你到底是什么意思?
(尝试一下会给你更快的答案,然后将其发布在SO上,我认为......)

Yes.

public abstract class MyBase<T>
{
    public abstract T GetSomething();
}

public class MyConcreteType : MyBase<int>
{
    public override int GetSomething()
    {
         return 3;
    }
}

Or, what exactly do you mean ?
(Trying it out would have given you the answer faster then posting it on SO, I think ... )

小梨窩很甜 2024-09-07 20:45:40

是的,您可以执行以下操作:

public abstract class Class<T> 
{
    T value;
    T Prop { get; set;} 
}

Yes, you can do the following:

public abstract class Class<T> 
{
    T value;
    T Prop { get; set;} 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文