0
点赞
收藏
分享

微信扫一扫

c#的结构类型也可以有构造函数

GhostInMatrix 2022-02-21 阅读 51


protected struct FlareData

        {

            /// <summary>

            /// Type of flare, see above.

            /// </summary>

            public int type;

            /// <summary>

            /// Position of flare (1=origin, 0=center of screen, -1=other side)

            /// </summary>

            public float position;

            /// <summary>

            /// Scale of flare in relation to MaxFlareSize.

            /// </summary>

            public float scale;

            /// <summary>

            /// Color of this flare.

            /// </summary>

            public Color color;

            /// <summary>

            /// Constructor to set all values.

            /// </summary>

            /// <param name="setType">Set type</param>

            /// <param name="setPosition">Set position</param>

            /// <param name="setScale">Set scale</param>

            /// <param name="setColor">Set Color</param>

            public FlareData(int setType, float setPosition,

                float setScale, Color setColor)

            {

                type = setType;

                position = setPosition;

                scale = setScale;

                color = setColor;

            }

        }

这一段是Benjamin在XNA平台下做个一个游戏模板的其中一段,让我们来看看:

FlareData是一个结构类型,在结构中声明了若干的变量,然后在最后出现了有类似类的构造函数的一段代码,从来没有遇到过此类的用法。但仔细想想,结构在某个角度来看,也可以认为是一个类,类有构造函数,这个是毋庸置疑的,那既然如此,结构有构造函数也说的过去。


一般我们在代码中定义一个结构的值的时候,都需要“××.××=某个值”这样来定义,而使用了构造函数后,仅仅需要new一个结构,并把值传过去就行了,这样就使得在给结构的定义的时候能够简单明了。


举报

相关推荐

0 条评论