Click here to Skip to main content
15,905,682 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to create a new keyword Pin
damichab22-Feb-09 16:43
damichab22-Feb-09 16:43 
GeneralRe: How to create a new keyword Pin
Jon Rista22-Feb-09 18:10
Jon Rista22-Feb-09 18:10 
AnswerRe: How to create a new keyword Pin
damichab23-Feb-09 11:09
damichab23-Feb-09 11:09 
Questioncustomize deserialization sample in C#? Pin
George_George22-Feb-09 14:48
George_George22-Feb-09 14:48 
AnswerRe: customize deserialization sample in C#? Pin
Zap-Man22-Feb-09 15:05
Zap-Man22-Feb-09 15:05 
GeneralRe: customize deserialization sample in C#? Pin
George_George22-Feb-09 15:45
George_George22-Feb-09 15:45 
QuestionMaking the enter(return) key call a Validated event Pin
High0ctane22-Feb-09 12:54
High0ctane22-Feb-09 12:54 
AnswerRe: Making the enter(return) key call a Validated event Pin
Megidolaon23-Feb-09 3:10
Megidolaon23-Feb-09 3:10 
AnswerRe: Making the enter(return) key call a Validated event Pin
Richard Dean14-Apr-09 7:28
Richard Dean14-Apr-09 7:28 
QuestionC# area map Pin
Zap-Man22-Feb-09 12:01
Zap-Man22-Feb-09 12:01 
AnswerRe: C# area map Pin
fly90422-Feb-09 12:13
fly90422-Feb-09 12:13 
GeneralRe: C# area map Pin
Zap-Man22-Feb-09 14:40
Zap-Man22-Feb-09 14:40 
GeneralRe: C# area map Pin
fly90422-Feb-09 15:06
fly90422-Feb-09 15:06 
GeneralRe: C# area map Pin
Zap-Man22-Feb-09 15:18
Zap-Man22-Feb-09 15:18 
GeneralRe: C# area map [modified] Pin
fly90423-Feb-09 0:04
fly90423-Feb-09 0:04 
GeneralRe: C# area map Pin
Zap-Man23-Feb-09 13:41
Zap-Man23-Feb-09 13:41 
QuestionPassable function Pin
Chris Copeland22-Feb-09 10:04
mveChris Copeland22-Feb-09 10:04 
AnswerRe: Passable function Pin
Jon Rista22-Feb-09 10:54
Jon Rista22-Feb-09 10:54 
You should be using delegates. In general, its best to avoid the use of unsafe code or PInvoke, whenever possible. For your scenario, you should only need to do the following:

unsafe delegate void PacketHandler(byte* data, int length);

struct Packet
{
    int type;
    int len;
    PacketHandler func;
}

void CreatePacket()
{
    Packet packet = new Packet
    {
        type = 0x73,
        len = 11,
        func = AuthOK // You only need to specify the name of the function
        // Alternative notation: func = new PacketHandler(AuthOK);
    };
}

unsafe void PacketProcessor(Packet packet)
{
    byte* data = GetPacketData(packet.type);
    packet.func(data, packet.len);
}

unsafe void AuthOK(byte* data, int len) // Matches the PacketHandler delegate signature
{
    // handle packet type 0x73
}

GeneralRe: Passable function Pin
Chris Copeland22-Feb-09 11:02
mveChris Copeland22-Feb-09 11:02 
GeneralRe: Passable function Pin
Jon Rista22-Feb-09 11:16
Jon Rista22-Feb-09 11:16 
QuestionHow to enable auto scroll in a listbox? Pin
bar300022-Feb-09 9:20
bar300022-Feb-09 9:20 
AnswerRe: How to enable auto scroll in a listbox? Pin
Luis Alonso Ramos22-Feb-09 9:34
Luis Alonso Ramos22-Feb-09 9:34 
GeneralRe: How to enable auto scroll in a listbox? Pin
bar300022-Feb-09 9:48
bar300022-Feb-09 9:48 
GeneralRe: How to enable auto scroll in a listbox? Pin
Luis Alonso Ramos22-Feb-09 10:11
Luis Alonso Ramos22-Feb-09 10:11 
GeneralRe: How to enable auto scroll in a listbox? Pin
Luis Alonso Ramos22-Feb-09 10:30
Luis Alonso Ramos22-Feb-09 10:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.