获取通过套接字接收的对象类型

本文关键字:对象 类型 套接字 获取 | 更新日期: 2023-09-27 18:30:22

>我有一个客户端/服务器应用程序。我使用一个名为MessageHolder的类,它接受一个被发送的对象。我有公司,合同,联系人等类,可以使用此MessageHolder类发送。现在,当我的服务器收到消息持有者时,我如何获取其中包含的对象类型?

消息持有者类:

[Serializable]
public class MessageHolder
{
    public object company { get; set; }
    public CompanyCreationClass(object Company)
    {
        company = Company;
    }
}

获取通过套接字接收的对象类型

MessageHolder obj = new  MessageHolder(); 
Type t = typeof(obj);
// Alternatively, you could use 
MessageHolder obj = new  MessageHolder(); 
Type t = obj.GetType();

这是方法:

System.Type t = company.GetType()

http://msdn.microsoft.com/en-us/library/system.object.gettype.aspx

我会提出一些建议。您可能会发现泛型是比传递"对象"更好的选择。

public class MyGenericHolder<T>
{
    public MyGenericHolder()
    {
    }
    private T _theItem = default(T) ;
    public void Push(T item)
    {
        this._theItem = item;
    }
    public T Pop()
    {
        return this._theItem;
    }
}


class Program
{
    static void Main(string[] args)
    {
        try
        {
            MyGenericHolder<int> intHolder = new MyGenericHolder<int>();
            intHolder.Push(101);
            int x = intHolder.Pop();
            Console.WriteLine(x);
            MyGenericHolder<string> stringHolder = new MyGenericHolder<string>();
            stringHolder.Push("Hello Generics");
            string y = stringHolder.Pop();
            Console.WriteLine(y);

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        Console.WriteLine("Press Enter");
        Console.ReadLine();
    }
}