-6

RFID リーダーによって送受信されたバイトを監視したいと考えています。しかし、これはコンパイルされません。:( 「}」がないと言われていますが、1つ入れると、transportLogFile(関数SerialListener上)が認識されません。これの何が問題なのですか?

Copyright (c) 2009 ThingMagic, Inc.

   using System; // system namespace reserved for items associated with .NET Framework class library
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
using System.Threading;
using ThingMagic;


namespace Read_v5
{
    class Program
    {
        private TextWriter transportLogFile;
        static void Main(string[] args)
        {
            TextWriter transportLogFile;
            StreamWriter writer = new StreamWriter("log.txt");
            writer.AutoFlush = true;
            transportLogFile = writer;
            using (Reader rdr = Reader.Create("tmr:///com29"))
            {
                if (rdr is SerialReader)
                    rdr.Transport += TimestampListener;

                SimpleReadPlan readplan = new SimpleReadPlan();
                rdr.Connect(); //establish connection
                rdr.ParamSet("/reader/region/id", Reader.Region.OPEN); //region set in OPEN
                rdr.ParamSet("/reader/read/plan", readplan);
                int[] antennas = (int[])rdr.ParamGet("/reader/antenna/connectedPortList");
                rdr.ParamSet("/reader/tagop/antenna", 1);
                rdr.ParamSet("/reader/tagop/protocol", TagProtocol.GEN2);
                //   Console.WriteLine(rdr.ParamGet("/reader/tagop/antenna"));
                //   Console.WriteLine(rdr.ParamGet("/reader/tagop/protocol"));
                //  Console.WriteLine(" " + rdr.ParamGet("/reader/antenna/portList"));
                //   rdr.ParamSet("/reader/antenna/txRxMap", new int[][]{new int[]{1,1,1}});
                readplan.Antennas = new int[] { 1 };
                //    Console.WriteLine(" " + rdr.ParamGet("/reader/antenna/portList").ToString());
                readplan.Protocol = TagProtocol.GEN2;
                //      Console.WriteLine(rdr.ParamGet("/reader/antenna/portList"));
                rdr.ParamSet("/reader/read/asyncOffTime", 100);
                rdr.ParamSet("/reader/read/asyncOnTime", 500);
                rdr.StartReading();
                //     Console.WriteLine("FIN");
                //     int y = 0;
                while (rdr.Equals(rdr))
                {

                    //  Console.WriteLine("\r\n<Do this\r\n");
                    rdr.TagRead += delegate(Object sender, TagReadDataEventArgs e)
                    {
                        Console.WriteLine("EPC: " + e.TagReadData.EpcString);
                        Console.WriteLine("RSSI: " + e.TagReadData.Rssi.ToString());
                        Console.WriteLine("Phase: " + e.TagReadData.Phase.ToString());
                    };
                    Thread.Sleep(200);

                }
                rdr.StopReading();
                rdr.Destroy();
                transportLogFile.Close();
            }
        }
        private void TimestampListener(Object sender, TransportListenerEventArgs e)
        {
         //   TextWriter transportLogFile = null;
            transportLogFile.Write(String.Format("{0} {1}",
                DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt"),
                e.Tx ? "Sending" : "Received"));
            for (int i = 0; i < e.Data.Length; i++)
            {
                if ((i & 15) == 0)
                {
                    transportLogFile.WriteLine();
                    transportLogFile.Write("  ");
                }
                transportLogFile.Write("  " + e.Data[i].ToString("X2"));
            }
            transportLogFile.WriteLine();
        }

    }

}
4

1 に答える 1

1

}ファイルの最後にもう 1 つ追加します。私が見ることができるところから、名前空間は決して閉じられません。

編集: 変数に問題があります。メソッドでアクセスするには、次のように実行することでこれを解決できます。

class Program 
{ 
    //Declare the variable here:
    private static TextWriter transportLogFile;

    public static void Main(string[] args) 
    {
       //TextWriter transportLogFile = null; 
       transportLogFile = writer;          
    }
    private static void MyMethod()
    {
       //Access transportLogFile here.
    }
}
于 2012-09-20T06:26:28.910 に答える