2

我有一个像下面这样的课程:-

public Class Student
{
  string Name {get; set;}
  int Age {get; set;}
  Address studentAddres {get; set;}
}

public class Address
{
 string Street{get; set;}
 string City {get; set;}
}

这里Name 和 AgeSystem Define 类型StudentAddres自定义类型。如何使用代码区分它们。我正在使用反射但无法实现。

4

2 回答 2

2
if (SomeObject.GetType().Assembly != typeof(int).Assembly)
{
    //SomeObject is defined as part of my program
}
else
{
    //SomeObject is a standard .Net type
}
于 2012-12-11T11:57:04.193 回答
1

您似乎想查看值类型或字符串。然后你可以使用: Type.IsPrimitive属性

获取一个值,该值指示 Type 是否是基本类型之一。

基本类型是 Boolean、Byte、SByte、Int16、UInt16、Int32、UInt32、Int64、UInt64、IntPtr、UIntPtr、Char、Double 和 Single。

int i = 10;
string str = "";
var isPrimitive = i.GetType().IsValueType || i is string; // returns true since i is value type
var isPrimitiveWithString = str.GetType().IsValueType || str is string; 
 // returns true

CustomClass obj = new CustomClass();
var isPrimitive3 = obj.GetType().IsPrimitive; // returns false
于 2012-12-11T12:16:04.653 回答