2013-07-23 30 views
0

我試圖將數據綁定到一個表單,但我不斷收到以下錯誤:對象是一個字段,但使用像一個類型?

AbDesktop.FrmCreditCards.tmpData是'字段',但用法類似'type'。

這是導致錯誤的代碼,任何和所有的幫助將不勝感激。

public partial class FrmCreditCards : Form 
    { 
     tmpCreditCardData tmpData = new tmpCreditCardData() { CreditCardName = "Reece" }; 
     private HotelConferenceEntities db = new HotelConferenceEntities(); 
     private tblCreditCard databaseAccessObject; 
     private tmpData dataTransferObject; 


     public void databinding() 
     { 
      // Create forward map using AutoMapper - from database to dataTransfer 
      AutoMapper.Mapper.CreateMap<tblCreditCard, tmpData>() 
       .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.CreditCardName)); 

      // Create reverse map using AutoMapper - from dataTransfer to database 
      AutoMapper.Mapper.CreateMap<tmpData, tblCreditCard>() 
       .ForMember(dest => dest.CreditCardName, opt => opt.MapFrom(src => src.Name)); 

     } 
+0

什麼是'tmpCreditCardData'? –

回答

1

您使用的是相同的名稱類型和字段 - 現場tmpdata僞重命名爲別的東西 - 即:

tmpCreditCardData tmpData2 = new tmpCreditCardData 
     { CreditCardName = "Reece" }; 

大約有約定的一些意見 - 約定指定類應該有上開始小寫字母和命名一樣

MyFavouriteClass 

和領域應該被命名就像

myFavouriteField 

(它與小寫字母開頭)

有人還區分私有字段以下劃線

private MyFavouriteClass _myFavouriteField 

如果你堅持使用他們,你應該不會遇到這個問題。

+1

(甚至更好,重命名類型以大寫字符開始,以遵循默認的命名準則) – poke

+0

這不是問題。他在'CreateMap ()'的調用中使用變量名作爲通用參數。 – Zebi

+0

@Zebi請參閱'tmpCreditCardData tmpData'和'private tmpData dataTransferObject'的聲明。在代碼編譯時假設,'tmpData'被用作一個類型和一個變量名。 – poke

2

CreateMap的通用參數是問題。 如編譯錯誤所述,您必須使用tmpCreditCardData而不是變量名稱tmpData

 // Create forward map using AutoMapper - from database to dataTransfer 
     AutoMapper.Mapper.CreateMap<tblCreditCard, tmpCreditCardData>() 
      .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.CreditCardName)); 

     // Create reverse map using AutoMapper - from dataTransfer to database 
     AutoMapper.Mapper.CreateMap<tmpCreditCardData, tblCreditCard>() 
      .ForMember(dest => dest.CreditCardName, opt => opt.MapFrom(src => src.Name)); 
+0

非常好,這工作非常出色謝謝你! = d –

相關問題