首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#,快速泛型问题

C#,快速泛型问题
EN

Stack Overflow用户
提问于 2009-10-12 16:44:10
回答 5查看 200关注 0票数 4

我需要创建一个只有2个属性(左边和顶部)的快速类,然后我将在集合中调用它们。

有没有一种快速的方法来创建类结构,而不必使用泛型实际创建强类型的类本身?

提前感谢

更好的是,framwework是否有内置类型,而不是只能以整数值存储左、上、右、下坐标?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-12 16:53:16

我认为您正在寻找System.Drawing.Rectangle (它是一个结构,顺便说一句,它不是一个类;在System.Windows.Shapes中有一个类,但那是不同的)。当你想要的东西已经在框架中时,创建一个新的泛型类型是没有意义的。

票数 6
EN

Stack Overflow用户

发布于 2009-10-12 16:47:09

自动属性将有助于快速完成此操作

代码语言:javascript
复制
public class Position<T> where T: struct
{
  public T Top { get; set; }
  public T Left { get; set; }
}

或者,您可能想要签出System.Drawing命名空间中的Point或Rectangle类。

票数 9
EN

Stack Overflow用户

发布于 2009-10-12 16:46:25

你这么做的原因是什么?为什么不直接创建这个类呢?

如果你确实需要推迟一些事情,你可以创建一个接口:

代码语言:javascript
复制
public interface IMyDeferredClass
{
    int MethodReturningInt(int parameter);
    int IntegerProperty { get; set; }
    int this[int index] { get; }
    event EventHandler SomeEvent;
}

您可以对IMyDefferedClass进行编程,但您最终需要一个类来实现该接口:

代码语言:javascript
复制
public class MyDeferredClass : IMyDeferredClass
{
    public int MethodReturningInt(int parameter)
    {
        return 0;
    }

    public int IntegerProperty
    {
        get { return 0; }
        set {  }
    }

    public int this[int index]
    {
        get { return 0; }
    }

    public event EventHandler SomeEvent;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1555654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档