我在C#中创建一个Windows窗体应用程序并在其中使用属性网格。我在其中显示Person类对象的属性,并希望使用Display数据注释来设置属性的描述,显示属性的顺序和其他内容。 为了实现这一点,我在我的代码中添加了对 System.ComponentModel.DataAnnotations 的引用,我的Person类的代码是这样的:
class Person
{
[Display(Name = "First Name", Order = 1,
Prompt = "Enter First Name", Description = "Person First Name")]
public string firstname { get; set; }
[Display(Name = "Last Name", Order = 2,
Prompt = "Enter Last Name", Description = "Person Last Name")]
public string lastname { get; set; }
[Display(Name = "Age", Order = 3,
Prompt = "Enter Age", Description = "Person Age")]
public int age { get; set; }
}
但数据注释不起作用。这是我的应用中属性网格的屏幕截图.. screenshot of property grid
我无法理解为什么数据注释在我的代码中不起作用。任何人都可以帮忙吗?我有什么遗漏的吗?我是否需要实现任何代码段才能使它们正常工作?
答案 0 :(得分:0)
将propertyGrid的属性NOTE:
设置为Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("my.app");
if (launchIntent != null) {
context.startActivity(launchIntent);//null pointer check in case package name was not found
}
和属性将按声明的顺序显示
PropertySort
答案 1 :(得分:0)
如果使用System.ComponentModel命名空间中的属性,似乎可以工作,例如:
import netCDF4 as nc
import numpy as np
ncfile = r'C:\\abcd\\55618_12.nc'
variableName = 'MAX'
fh = nc.Dataset(ncfile, mode='r')
val = fh.variables[variableName][:]
fh.close()
print type (val)
for i in range(500,600,1):
for j in range(200,300,1):
#print i,j
val[i][j] = -99900.0
if val[i][j]> -99900.0:
print val[i][j]
fh = nc.Dataset(ncfile, mode='r+')
fh.variables[variableName][:]= val
fh.close()