Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用对象获取get/set的值失败';s级_C#_Multithreading_Class - Fatal编程技术网

C# 使用对象获取get/set的值失败';s级

C# 使用对象获取get/set的值失败';s级,c#,multithreading,class,C#,Multithreading,Class,我会解释的,但代码可以解释得比我好 我试图得到两个变量的值 我在它的类中创建一个新对象,并使用它的成员,我从数据包中设置它们的值。 每当我试图访问它们时,我都会发现它们是零,这对我来说毫无意义。 下面是代码中与问题相关的重要部分 public class PacketHandler { . . dots means unrelated long code . public PacketHandler() { } public ushort

我会解释的,但代码可以解释得比我好

我试图得到两个变量的值
我在它的类中创建一个新对象,并使用它的成员,我从数据包中设置它们的值。
每当我试图访问它们时,我都会发现它们是零,这对我来说毫无意义。
下面是代码中与问题相关的重要部分

public class PacketHandler
    {
.
. dots means unrelated long code
.
public PacketHandler()
        {
        }
        public ushort actualX { get; set; }
        public ushort actualY { get; set; }
.
.
.
case 10010:
                            {
                                if (BitConverter.ToUInt16(data, 8) == 1002)
                                {
                                    actualX = BitConverter.ToUInt16(data, 24);
                                    actualY = BitConverter.ToUInt16(data, 26);
                                }
                                break;
这是另一个类,我想得到它的值

public class ClientBase
{
    GameUser role2;
    PacketHandler ph = new PacketHandler(); <<<<<<<<
    public ClientBase(GameUser role)
    {
        role2 = role;
        Thread T = new Thread(HuntThread) { Name = "Hunt Thread" };
        T.Start(this);
        Console.WriteLine("with name : " +T.Name +  " with execution context : "+T.ExecutionContext +" with state : "+ T.IsAlive + " with id : " + T.ManagedThreadId);
       T.Join();
    }
    Monster GetNextkill()
    {
        Monster CurrentTarget = null;
        foreach (KeyValuePair<uint, Monster> Pair in Dictionary.Clone(Dictionary.Monsters))
        {

                CurrentTarget = Pair.Value;
        }
        return CurrentTarget;
    }
    public void HuntThread(object Sender)
    {
        try
        {
            ClientBase Client = Sender as ClientBase;
            while (true)
            {
                Monster Target = GetNextkill();
                if (Target != null)
                {
                    Thread.Sleep(1000);
                    ProxyParadise.Network.Packets.PacketStructure ps = new ProxyParadise.Network.Packets.PacketStructure();

                    ps.__Packet10010(Target.X, Target.Y, role2, "normal", "server", ph.actualX, ph.actualY); <<<<< i get zeros at the ph.actualX/Y
                    Thread.Sleep(1000);
                    ps.__Packet10010(Target.X, Target.Y, role2, "sdasdsa", "client", role2.X, role2.Y);
                    Thread.Sleep(1000);
                    ps.__Packet1022NONEXP(Target.UID, Target.X , Target.Y, role2);
                    Dictionary.Monsters.SafeRemove(Target.UID);
公共类ClientBase
{
玩家角色2;

PacketHandler ph=new PacketHandler();请将其转换为一个简短但完整的程序,以演示该问题。我目前不清楚。请为此添加一个语言标记。