如何在 C# 中将 Class 存储到列表中
How to store Class into List in C#
我知道这可能是个愚蠢的问题。但是为了正式起见,我想将这些 Class 字段存储到列表中。我尝试了多次,但仍然面临着同样的事情。我已经花了几天时间来修复这个错误但没有成功请帮助我
我想调用网络服务并绑定下拉列表。 (公司、国家、部门、位置)在 class 中。
但是在存储在列表中时我无法做到这一点。明显区域的拥挤误差(return type not matching
)
错误:
(Can not implicitly convert type Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] to Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST[])
我明白是因为 return 输入错误,但是如何存储请指导我
我试过:
[WebMethod]
public static List<Devision> GetAllFields()
{
string userID= "1000";
GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST[] divisionMList = oClient.GetInitiatorsList(userID);
List<Devision> Division = new List<Devision>();
foreach (Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST Devision in divisionMList)
{
Division.Add(new Devision()
{
DevisionCode = Devision.DivisionCode,
DevisionName = Devision.DivisionName
});
}
return Division;
}
我的 class 继承 object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
我不太确定这种类型的对象。任何人都可以将这些 class 存储到列表
中吗
Class:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="INITIATORS_LIST", Namespace="http://schemas.datacontract.org/2004/07/Almarai.Web.Services.DataEntities")]
[System.SerializableAttribute()]
public partial class INITIATORS_LIST : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] CompaniesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] CountriesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] DivisionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.LOCATION[] LocationsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.REGION[] RegionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypesField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] Companies {
get {
return this.CompaniesField;
}
set {
if ((object.ReferenceEquals(this.CompaniesField, value) != true)) {
this.CompaniesField = value;
this.RaisePropertyChanged("Companies");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] Countries {
get {
return this.CountriesField;
}
set {
if ((object.ReferenceEquals(this.CountriesField, value) != true)) {
this.CountriesField = value;
this.RaisePropertyChanged("Countries");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] Divisions {
get {
return this.DivisionsField;
}
set {
if ((object.ReferenceEquals(this.DivisionsField, value) != true)) {
this.DivisionsField = value;
this.RaisePropertyChanged("Divisions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.LOCATION[] Locations {
get {
return this.LocationsField;
}
set {
if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
this.LocationsField = value;
this.RaisePropertyChanged("Locations");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.REGION[] Regions {
get {
return this.RegionsField;
}
set {
if ((object.ReferenceEquals(this.RegionsField, value) != true)) {
this.RegionsField = value;
this.RaisePropertyChanged("Regions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypes {
get {
return this.WorkflowTypesField;
}
set {
if ((object.ReferenceEquals(this.WorkflowTypesField, value) != true)) {
this.WorkflowTypesField = value;
this.RaisePropertyChanged("WorkflowTypes");
}
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
INITIATOR_LIST Class:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="INITIATORS_LIST", Namespace="http://schemas.datacontract.org/2004/07/Almarai.Web.Services.DataEntities")]
[System.SerializableAttribute()]
public partial class INITIATORS_LIST : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] CompaniesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] CountriesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] DivisionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.LOCATION[] LocationsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.REGION[] RegionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypesField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] Companies {
get {
return this.CompaniesField;
}
set {
if ((object.ReferenceEquals(this.CompaniesField, value) != true)) {
this.CompaniesField = value;
this.RaisePropertyChanged("Companies");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] Countries {
get {
return this.CountriesField;
}
set {
if ((object.ReferenceEquals(this.CountriesField, value) != true)) {
this.CountriesField = value;
this.RaisePropertyChanged("Countries");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] Divisions {
get {
return this.DivisionsField;
}
set {
if ((object.ReferenceEquals(this.DivisionsField, value) != true)) {
this.DivisionsField = value;
this.RaisePropertyChanged("Divisions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.LOCATION[] Locations {
get {
return this.LocationsField;
}
set {
if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
this.LocationsField = value;
this.RaisePropertyChanged("Locations");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.REGION[] Regions {
get {
return this.RegionsField;
}
set {
if ((object.ReferenceEquals(this.RegionsField, value) != true)) {
this.RegionsField = value;
this.RaisePropertyChanged("Regions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypes {
get {
return this.WorkflowTypesField;
}
set {
if ((object.ReferenceEquals(this.WorkflowTypesField, value) != true)) {
this.WorkflowTypesField = value;
this.RaisePropertyChanged("WorkflowTypes");
}
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
您混淆了 oClient.GetInitiatorsList(userID)
的 return 类型,它 return 是 ALM_WKFLW_TYPE_M[]
而不是 INITIATORS_LIST[]
。
所以您的 WebMethod 应该如下所示:
[WebMethod]
public static List<Devision> GetAllFields()
{
string userID= "1000";
GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
var almWkflwTypeMList = oClient.GetInitiatorsList(userID);
List<Devision> Division = new List<Devision>();
foreach (var almWkflwTypeM in almWkflwTypeMList)
{
Division.Add(new Devision()
{
DevisionCode = almWkflwTypeM.DivisionCode,
DevisionName = almWkflwTypeM.DivisionName
});
}
return Division;
}
我知道这可能是个愚蠢的问题。但是为了正式起见,我想将这些 Class 字段存储到列表中。我尝试了多次,但仍然面临着同样的事情。我已经花了几天时间来修复这个错误但没有成功请帮助我
我想调用网络服务并绑定下拉列表。 (公司、国家、部门、位置)在 class 中。
但是在存储在列表中时我无法做到这一点。明显区域的拥挤误差(return type not matching
)
错误:
(Can not implicitly convert type Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] to Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST[])
我明白是因为 return 输入错误,但是如何存储请指导我
我试过:
[WebMethod]
public static List<Devision> GetAllFields()
{
string userID= "1000";
GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST[] divisionMList = oClient.GetInitiatorsList(userID);
List<Devision> Division = new List<Devision>();
foreach (Almarai.GiveAway.GetInitiatorList.INITIATORS_LIST Devision in divisionMList)
{
Division.Add(new Devision()
{
DevisionCode = Devision.DivisionCode,
DevisionName = Devision.DivisionName
});
}
return Division;
}
我的 class 继承 object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
我不太确定这种类型的对象。任何人都可以将这些 class 存储到列表
中吗Class:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="INITIATORS_LIST", Namespace="http://schemas.datacontract.org/2004/07/Almarai.Web.Services.DataEntities")]
[System.SerializableAttribute()]
public partial class INITIATORS_LIST : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] CompaniesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] CountriesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] DivisionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.LOCATION[] LocationsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.REGION[] RegionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypesField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] Companies {
get {
return this.CompaniesField;
}
set {
if ((object.ReferenceEquals(this.CompaniesField, value) != true)) {
this.CompaniesField = value;
this.RaisePropertyChanged("Companies");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] Countries {
get {
return this.CountriesField;
}
set {
if ((object.ReferenceEquals(this.CountriesField, value) != true)) {
this.CountriesField = value;
this.RaisePropertyChanged("Countries");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] Divisions {
get {
return this.DivisionsField;
}
set {
if ((object.ReferenceEquals(this.DivisionsField, value) != true)) {
this.DivisionsField = value;
this.RaisePropertyChanged("Divisions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.LOCATION[] Locations {
get {
return this.LocationsField;
}
set {
if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
this.LocationsField = value;
this.RaisePropertyChanged("Locations");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.REGION[] Regions {
get {
return this.RegionsField;
}
set {
if ((object.ReferenceEquals(this.RegionsField, value) != true)) {
this.RegionsField = value;
this.RaisePropertyChanged("Regions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypes {
get {
return this.WorkflowTypesField;
}
set {
if ((object.ReferenceEquals(this.WorkflowTypesField, value) != true)) {
this.WorkflowTypesField = value;
this.RaisePropertyChanged("WorkflowTypes");
}
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
INITIATOR_LIST Class:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="INITIATORS_LIST", Namespace="http://schemas.datacontract.org/2004/07/Almarai.Web.Services.DataEntities")]
[System.SerializableAttribute()]
public partial class INITIATORS_LIST : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] CompaniesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] CountriesField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] DivisionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.LOCATION[] LocationsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.REGION[] RegionsField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypesField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COMPANY_M[] Companies {
get {
return this.CompaniesField;
}
set {
if ((object.ReferenceEquals(this.CompaniesField, value) != true)) {
this.CompaniesField = value;
this.RaisePropertyChanged("Companies");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_COUNTRY_M[] Countries {
get {
return this.CountriesField;
}
set {
if ((object.ReferenceEquals(this.CountriesField, value) != true)) {
this.CountriesField = value;
this.RaisePropertyChanged("Countries");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_DIVISION_M[] Divisions {
get {
return this.DivisionsField;
}
set {
if ((object.ReferenceEquals(this.DivisionsField, value) != true)) {
this.DivisionsField = value;
this.RaisePropertyChanged("Divisions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.LOCATION[] Locations {
get {
return this.LocationsField;
}
set {
if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
this.LocationsField = value;
this.RaisePropertyChanged("Locations");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.REGION[] Regions {
get {
return this.RegionsField;
}
set {
if ((object.ReferenceEquals(this.RegionsField, value) != true)) {
this.RegionsField = value;
this.RaisePropertyChanged("Regions");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public Almarai.GiveAway.GetInitiatorList.ALM_WKFLW_TYPE_M[] WorkflowTypes {
get {
return this.WorkflowTypesField;
}
set {
if ((object.ReferenceEquals(this.WorkflowTypesField, value) != true)) {
this.WorkflowTypesField = value;
this.RaisePropertyChanged("WorkflowTypes");
}
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
您混淆了 oClient.GetInitiatorsList(userID)
的 return 类型,它 return 是 ALM_WKFLW_TYPE_M[]
而不是 INITIATORS_LIST[]
。
所以您的 WebMethod 应该如下所示:
[WebMethod]
public static List<Devision> GetAllFields()
{
string userID= "1000";
GetInitiatorList.MasterDataServiceClient oClient = new GetInitiatorList.MasterDataServiceClient();
var almWkflwTypeMList = oClient.GetInitiatorsList(userID);
List<Devision> Division = new List<Devision>();
foreach (var almWkflwTypeM in almWkflwTypeMList)
{
Division.Add(new Devision()
{
DevisionCode = almWkflwTypeM.DivisionCode,
DevisionName = almWkflwTypeM.DivisionName
});
}
return Division;
}