2011-07-21 16 views
2

Spring .NETを介して静的クラスを設定するにはどうすればよいですか?Spring.NETで静的クラスのプロパティを設定するにはどうすればよいですか?

は、次のクラスを考えてみましょう:

static class Abc 
{ 
    public Interface xyz 
    { 
     get; 
     set; 
    } 

    public void Show() 
    { 
     xyz.show(); 
    } 
} 
+0

なぜ静的クラスが必要ですか? 「通常の」(静的ではない)クラスを作成し、シングルトンスコープでインスタンス化できませんか? – Marijn

+0

そのユーティリティクラスはトレースのように静的です。 – Geeta

+2

プロパティ 'xyz'とvoid' Show'は静的クラスでは宣言できないインスタンスメンバーなので、このコードはコンパイルされません。それらは静的宣言されるべきです。 – Marijn

答えて

2

たぶん回避策は助けることができる.. これは静的クラスではありませんが、それは1

namespace Nyan { 
    public class Util{ 
     protected Util(){} //to avoid accidental instatiation 

     public static string DATETIMEFORMAT = "HH:mm:ss"; 

     public static DateTime parseDate(string sDate) 
     { 
      return DateTime.ParseExact(sDate, DATETIMEFORMAT, CultureInfo.InvariantCulture); 
     } 
    } 
} 

<object id="Util" type="Nyan.Util, Nyan" singleton="true"> 
    <property name="DATETIMEFORMAT" value="HH-mm-ss" /> 
</object 

のように動作し、他の静的クラスのように使用されています:

protected void Page_Load(object sender, EventArgs e) 
{ 
    DateTime sDate = Nyan.Util.parseDate("15-15-15"); //parsed with injected format 
} 
+0

はい私の問題を部分的に解決するかもしれません。ここではparseDate()は静的なので、私の場合は動作します。しかし、Show()は静的関数ではありません。どのようにshal私はそれを呼び出します。 – Geeta

+1

???静的クラスに非静的メソッドまたはプロパティを持つことはできません。 – Jaguar

+0

正確に - 完全に最初の質問を読むときにそれを逃した。 – Marijn

関連する問題