C.CoderCreator Ответов: 1

Путаница C# с этим кодом


это мой код

//part of the idle stuff
        [StructLayout(LayoutKind.Sequential)]
        struct LASTINPUTINFO
        {
            public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO));

            [MarshalAs(UnmanagedType.U4)]
            public UInt32 cbSize;
            [MarshalAs(UnmanagedType.U4)]
            public UInt32 dwTime;
        }

uint idleTime = 0;
            LASTINPUTINFO lastInputInfo = new LASTINPUTINFO();

            //int y = Convert.ToInt32(lastInputInfo);
            uint y = Convert.ToUInt32(lastInputInfo);
            lastInputInfo.cbSize = Marshal.SizeOf(y);
            lastInputInfo.dwTime = 0;</pre>

кстати я использовал оба этих метода потому что он не может принять решение и это моя ошибка


в <код&ГТ;Ошибка 1 не удается неявно преобразовать тип 'int' в 'виде uint'. Существует явное преобразование (вы пропускаете приведение?). Z:\UnHidden\UnHidden\Form1.cs 48 36 Нескрытый & lt;/код>

и я получаю одну и ту же ошибку с каждым из этих кодов преобразования, может ли кто-нибудь сказать мне, что происходит и как я могу это исправить?

1 Ответов

Рейтинг:
7

OriginalGriff

Ошибка довольно явная и говорит вам, что делать: либо изменить определение на Int32, либо привести значения к UInt32:

lastInputInfo.cbSize = (UInt32) Marshal.SizeOf(y);