2016-05-19 2 views
-1

私はC#の新機能ですが、コードの1つの場所(別のファイル)で使用される文字セットを定義し、この別の場所を使用する必要があります。このように:別の場所で使用する変数/パラメータを渡す

Mapper.CreateMap<WebClientByteResult, WebClientStringResult>().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((be, str) => 
     { 
      str.Content = Encoding.GetEncoding("CHARSET").GetString(be.Content); 
     }); 

多分これはばかな質問ですが、私はいくつかのコードを書き換えると、この言語ではほとんど経験を持っています。

+0

質問は何ですか? – abto

答えて

1

あなたは複数の可能性があります。

ChartSet列挙を使用できます。 MSDN

またはこの目的

または文字列と静的クラスを使用するために独自の列挙型を記述します。

public static class CharSet 
{ 
    public static string Charset1 = "CHARSET1"; 
    public static string Charset2 = "CHARSET2"; 
    public static string Charset3 = "CHARSET3"; 
} 

もっと可能性があります。しかし、私はあなたのケースでは、これはsimplesのソリューションかもしれないと思います。パブリッククラスとして、インポートでクラスを参照するだけで、いつでも自由にアクセスできます。

のように(列挙型)

CharSet.Charset1; - // will return the enum -> to get a string use .toString() 

または(静的クラス)

CharSet.Charset1 - // will return the string 

私はこれは私が実際に取得する場合、私はまだわからない

Greez壱岐

+0

ありがとうございます。これは素晴らしかったが、複数の場所で文字セットを定義したい場合はどうすればよいでしょうか。 複数のWebサイトを解析する必要があり、誰もが独自の.csファイルを持っています。次に、各サイトで文字セットを定義し、最初の投稿に示すように使用する必要があります。 – Disease

+0

あなたの設定に関する詳細をお知らせください。私が右に耳を傾けたかどうかは分かりません。あなたが言ったように。複数の定義が必要な場合は、複数の場所で定義する必要があります。そのいくつかの種類のソリューションの場合は、他のDLLからパブリッククラスを使用することができます。つまり、自分のプロジェクトで列挙型を提供できるということです - 多分あなたは十字架のようなプロジェクトを持っているかもしれません - これは定義を入れる場所になるかもしれません –

0

を役に立てば幸いポイント。

しかし、何とかあなたのメソッドの呼び出しを調整する必要があります。

ParsePage1.Parse() 
ParsePage2.Parse() 
ParsePage3.Parse() 

同様

あなただけのメソッドのパラメータ

public static class CharSet 
{ 
    public static string Charset1 = "iso-8859-1"; 
    public static string Charset2 = "iso-8859-1"; 
} 

public static class Programm() 
{ 
    public static Main(){ 
     ParsePage1.Parse(CharSet.Charset1); 
     ParsePage2.Parse(CharSet.Charset1); 
     ParsePage3.Parse(CharSet.Charset2); 
    } 
} 

として、または静的クラスを渡すことができますが、これはあなたが何を意味するかですか? - あなたは文字セットを定義して再利用するだけです。

関連する問題