C# PropertyType判断是不是int类型
时间: 2023-07-12 21:03:34 浏览: 285
可以使用 PropertyType 属性和 typeof 关键字来判断某个属性的类型是否为 int 类型。下面是示例代码:
```csharp
using System;
using System.Reflection;
class MyClass {
public int MyProperty { get; set; }
}
class Program {
static void Main() {
PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");
if (propertyInfo.PropertyType == typeof(int)) {
Console.WriteLine("MyProperty is an int.");
}
}
}
```
在上面的代码中,我们首先定义了一个 MyClass 类,并在其中定义了一个 int 类型的属性 MyProperty。然后我们使用反射获取 MyProperty 的 PropertyInfo 对象,并判断其 PropertyType 是否为 int 类型。如果是,则输出提示信息。
相关问题
C# PropertyType判断是不是int?类型
可以使用以下代码来判断一个属性的类型是否为 `int?`:
```csharp
if (propertyInfo.PropertyType == typeof(int?))
{
// 属性类型为 int?
}
else
{
// 属性类型不是 int?
}
```
其中 `propertyInfo` 表示需要判断类型的属性信息,在使用前需要先获取该属性的 `PropertyInfo` 对象。
C#判断所有值类型PropertyType
您可以使用反射来获取一个类型的所有属性,并且判断每个属性的类型是否为值类型。以下是一个示例代码:
```csharp
using System;
using System.Reflection;
class MyClass
{
public int MyInt { get; set; }
public float MyFloat { get; set; }
public string MyString { get; set; }
}
class Program
{
static void Main(string[] args)
{
Type type = typeof(MyClass);
PropertyInfo[] properties = type.GetProperties();
foreach (PropertyInfo property in properties)
{
Type propertyType = property.PropertyType;
if (propertyType.IsValueType)
{
Console.WriteLine(property.Name + " is a value type.");
}
else
{
Console.WriteLine(property.Name + " is not a value type.");
}
}
}
}
```
输出结果:
```
MyInt is a value type.
MyFloat is a value type.
MyString is not a value type.
```
阅读全文