2016-08-18 16 views
0

からメソッドを呼び出す:最初のカードのオーバーロード(foreachループでのカードの方法は、別のメソッドを呼び出すASP.Netは、私は二つのプロジェクトは、次のようにClassLibraryServer名前空間と出力方式と最初の1持っている別の名前空間

namespace ClassLibraryServer 
    { 
    public class Output 
    { 
     public static void Card(tblCard card, int myProperty) 
     { 
     if (kort.fltNr.Length != 6) 
      return; 

     using (myDataContext db = new myDataContext(ClassLibrary.Settings.Instance.SqlS)) 
     { 
      tblReader[] readers = (from row in db.tblReader 
            where !row.fltOffline 
            select row).ToArray(); 


      bool blocked = (db.tblCardBlocked.Where(b => b.fltProperty == myProperty && b.fltCard == card.id).FirstOrDefault() != null); 

      foreach (tblReader reader in readers)    
      { 
       Card(card, reader, blocked); 
      } 
     } 
     } 
    } 
    } 

をメソッド)は3つのパラメータを持ち、データをSQLテーブルに挿入しますが、あまりにも多くのスペースを必要とするのでここでは共有しません。

今私は名前空間のExtControlModuleで別のプロジェクトでメソッドの上に呼びたい:私はExtControlModuleにOutput.Cardにパラメータを割り当てたいとき

  namespace ExtControlModule 

      { 
      public class TimeModule 
      { 
      using (ModuleDataContext dbsys = new ModuleDataContext(ClassLibrary.Settings.Instance.SqlS)) { 
       var loungee = (from tblLounge in dbsys.tblLounges 
           select tblLounge).ToList(); 

       var lasaresFas = 0; 
       foreach (var LoungeRow in loungee) 
       { 
       lasaresFas= Convert.ToInt32(dbsys.tblLasares.FirstOrDefault(f => f.id == LoungeRow.fltCardreader).fltproperty); 



       tblCard cardLoading = dbsys.tblCard.FirstOrDefault(t => t.id == res.fltCardnumber); 
       Output.Card(cardLoading, lasaresFas); 
       } 
      } 
      } 

は、今私はOutput.CardにcardLoadingパラメータで次のエラーを取得します:

引数:!ClassLibrary.db.tblCard」

ClassLibraryは、SQL文propertとpublicクラスの設定を含む同じソリューション内の別のプロジェクトである「にExtControlModule.tblCard」から変換することはできませんyはSQLデータベースへの接続を容易にします。

私はASP.NETとSQLの両方に新しいので、これで何度も苦労しています。

+0

あなたは明らかに同じ名前 'tblCard'の2つのクラスを持っている完全修飾名前空間 – Kayani

+0

を使用してみてください。彼らが同じ名前を持っているからといって、それは彼らが交換可能であるということを意味しません。表示された両方のメソッド(と他のもの)がどの 'tblCard'クラスが関連し、どのアセンブリがそれに属しているかについて、両方のメソッドが同意するように、物事を変更する必要があります。 –

答えて

0

呼び出し方法

ClassLibraryServer.Output.Card(cardLoading, lasaresFas); 
+0

静的メソッドなので、インスタンスを作成する必要はありません。彼らは問題に何があるのか​​を明確にするべきであるというエラーメッセージを質問に含めました。彼らはエラーメッセージの内容を無視しているか、それを理解していません。どちらもこれらのコードで修正されていません。 –

+0

私は変更を加えました:) –

+0

私はClassLibraryServerをディレクティブとして使用していますので、関係ありません。 @Damien_The_Unbeliever tblCardはテーブルの名前で、cardLoadingはそのテーブルのオブジェクトです。 tblCardの上にマウスを置くと、dbがデータベースモジュールであるClassLibrary.db.tblCardを指し示します。 –

関連する問題