我有一个客户端/服务器应用程序。我使用一个名为MessageHolder的类,它接受一个发送的对象。我有可以使用此MessageHolder类发送的公司,合同,联系人等类。现在当我的服务器收到MessageHolder时,我如何获得其中包含的Object的类型?
消息持有人类:
[Serializable]
public class MessageHolder
{
public object company { get; set; }
public CompanyCreationClass(object Company)
{
company = Company;
}
}
答案 0 :(得分:0)
以下是方法:
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();
}
}
答案 1 :(得分:0)
MessageHolder obj = new MessageHolder();
Type t = typeof(obj);
// Alternatively, you could use
MessageHolder obj = new MessageHolder();
Type t = obj.GetType();