C# 如何初始化AttributeCollection的实例?
我正在尝试初始化一个C# 如何初始化AttributeCollection的实例?,c#,C#,我正在尝试初始化一个属性集合,但我似乎没有从Google获得任何好的建议 我还可以使用专门的构造函数创建对象,该构造函数采用所述类型为Attribute的数组,但我也找不到任何这样的示例 我可以通过添加每个属性来解决这个问题,如下所示,但这不如直接初始化它好 bzzz["prop1"] = "val_1"; bzzz["prop2"] = "val_2"; ... bzzz["prop8"] = "val_8"; bzzz["prop9"] = "val_9"; 它是System.Compon
属性集合
,但我似乎没有从Google获得任何好的建议
我还可以使用专门的构造函数创建对象,该构造函数采用所述类型为Attribute
的数组,但我也找不到任何这样的示例
我可以通过添加每个属性来解决这个问题,如下所示,但这不如直接初始化它好
bzzz["prop1"] = "val_1";
bzzz["prop2"] = "val_2";
...
bzzz["prop8"] = "val_8";
bzzz["prop9"] = "val_9";
它是
System.ComponentModel
中的类,假设我有一个简单的属性
public class SimpleAttribute : Attribute
{
public SimpleAttribute(String val)
{
value = val;
}
protected String value;
}
我会像这样向AttributeCollection
添加Attributes
AttributeCollection attrColl = new AttributeCollection(
new SimpleAttribute("value1"), new SimpleAttribute("value2"));
唯一的构造函数参数声明为
params
,因此在构造集合时可以传递多个属性(用逗号分隔)。假设我有一个简单的属性
public class SimpleAttribute : Attribute
{
public SimpleAttribute(String val)
{
value = val;
}
protected String value;
}
我会像这样向AttributeCollection
添加Attributes
AttributeCollection attrColl = new AttributeCollection(
new SimpleAttribute("value1"), new SimpleAttribute("value2"));
唯一的构造函数参数声明为
params
,因此在构造集合时可以传递多个属性(用逗号分隔)。这是完全合法的:
var attributes = new AttributeCollection();
attributes.Add("key1", "value1");
attributes.Add("key2", 2);
attributes.Add("key3", new EntityReference("contact", Guid.NewGuid()));
var entity = new Entity(){ Attributes = attributes };
编辑
你可以在一个C#语句中完成这一切,我曾一度认为它可读性较差,但现在我认为它可读性更强,因此它实际上可以归结为选择现有标准或个人选择:
var entity = new Entity()
{
Attributes = new AttributeCollection() {
{ "key1", "value1" },
{ "key2", 2 },
{ "key3", new EntityReference("contact", Guid.NewGuid())}
}
};
这是完全合法的:
var attributes = new AttributeCollection();
attributes.Add("key1", "value1");
attributes.Add("key2", 2);
attributes.Add("key3", new EntityReference("contact", Guid.NewGuid()));
var entity = new Entity(){ Attributes = attributes };
编辑
你可以在一个C#语句中完成这一切,我曾一度认为它可读性较差,但现在我认为它可读性更强,因此它实际上可以归结为选择现有标准或个人选择:
var entity = new Entity()
{
Attributes = new AttributeCollection() {
{ "key1", "value1" },
{ "key2", 2 },
{ "key3", new EntityReference("contact", Guid.NewGuid())}
}
};
系统组件模型?或System.Web.UI?请参见编辑。我链接到的文章是针对
System.ComponentModel
的,但除非单击它,否则无法看到它。我在编辑器中看到了它,但忘了区分.System.ComponentModel?或System.Web.UI?请参见编辑。我链接到的文章是针对System.ComponentModel
的,但除非单击它,否则无法看到它。我在编辑器中看到了它,但忘记了进行区分。我不是从属性
类继承的。我正在为CRM Dynamics创建一个新的实体实例
,在这里,我想插入一个新的、已填充的属性集合
实例。它可行吗?我不是从属性
类继承的。我正在为CRM Dynamics创建一个新的实体实例
,在这里,我想插入一个新的、已填充的属性集合
实例。是否可行?是否有一种方法可以立即初始化整个沙邦。也就是说,没有在初始值设定项之前而是在初始值设定项内部创建属性
变量?这与代码无关,但我非常好奇。谢谢你的回答,顺便说一句,伙计。有没有办法一次初始化整个沙邦。也就是说,没有在初始值设定项之前而是在初始值设定项内部创建属性
变量?这与代码无关,但我非常好奇。谢谢你的回答,顺便说一句,伙计。