在类中到达类函数

本文关键字:类函数 | 更新日期: 2023-09-27 18:13:04

我正在将代码从c++翻译成c#,现在我遇到了这个问题,所以我无法到达我必须到达的函数。

public struct TargetList_t
    {
        public float Distance;
        public float[] AimbotAngle = new float[3];
        public float[] aimbotAngle = new float[3];
        public float[] myCoords = new float[3];
        public float[] enemyCoords = new float[3];
        public TargetList_t(float[] aimbotAngle, float[] myCoords, float[] enemyCoords)
        {
            Distance = Get3dDistance(myCoords[0], myCoords[1], myCoords[3], enemyCoords[0], enemyCoords[1], enemyCoords[2]);
            AimbotAngle[0] = aimbotAngle[0];
            AimbotAngle[1] = aimbotAngle[1];
            AimbotAngle[2] = aimbotAngle[2];
        }
    };

这是我的班。

TargetList_t TargList;

我就是这么想的

在类中到达类函数

在c++中可以通过

调用默认构造函数
TargetList_t TargList;
在c#中,你总是想使用new关键字:
// init your constructor parameters
float[] aimbotAngle = new float[1]; 
float[] myCoords = new float[1]; 
float[] enemyCoords = new float[1]; 
// call constructor
var targList = new TargetList_t(aimbotAngle , myCoords , enemyCoords);

指出:

  • 您想要将struct更改为class,因为这是(有争议的)它看起来像

  • 在c++中,你会添加后缀或前缀,说它是type, int或其他什么,在c#中你通常不这样做,所以你的类名应该是TargetList。此外,List是.Net框架中一个众所周知的类,所以我希望这个类要么派生自它,要么从名称中删除List单词,如TargetList_t =>Targets

  • 使用公共属性代替公共字段

    public float Distance; =>public float Distance {get;set;}