public class abc
{
public int id{get;set;}
public string name{get;set;}
}
我想从abc类动态删除属性名称。在C#中可以吗?
答案 0 :(得分:1)
否,编译后不能更改类定义。你能做的是。列出您要忽略的属性。
,或者您可以创建一个自定义属性。将其添加到属性上,然后获取属性列表,不包括具有该属性的属性
例如
public class abc
{
public int id{get;set;}
[IgnoredProperty]
public string name{get;set;}
}
例如,现在可以循环播放。
foreach (var prop in typeof(abc).GetProperties().Where(x => !Attribute.IsDefined(x,typeof(IgnoredProperty))).ToList())
{
}
这可以是属性Class
public class IgnoredPropertyAttribute : Attribute
{
}
答案 1 :(得分:0)
暂时忽略“动态”,这是您可以使用界面执行的操作:
def steps_to_zero_v1(x):
x_int = int(x,2)
steps = 0
while x_int != 0:
if x_int % 2 == 0:
x_int = x_int // 2
else:
x_int = x_int - 1
steps += 1
return steps