2012-05-16 91 views
-3

我是asp.netc#的新手。我曾被要求分析一個門戶的代碼。請看下面的代碼,並建議我調用FromDatabase方法。我已經瀏覽瞭解決方案中的所有文件,但沒有對它的調用聲明。調用C類的靜態方法#

這裏帳戶和實用程序是類。

public static Account FromDatabase(DbDataRecord dr) 
{ 
    return new Account(
     Utility.StringFromNull(dr.GetValue(0)), 
     Utility.StringFromNull(dr.GetValue(1)), 
     Utility.IntFromNull(dr.GetValue(2)), 
     Utility.StringFromNull(dr.GetValue(3)), 
     Utility.StringFromNull(dr.GetValue(4)), 
     Utility.StringFromNull(dr.GetValue(5)), 
     Utility.DateTimeFromNull(dr.GetValue(6)) 
    ); 
} 

在其他什麼辦法,我可以返回值,而不是返回新帳戶()

在此先感謝!

+0

您在女巫FromDatabase方法類的名稱可以與它一起使用:Account sampleAcc = FromDatabase(dr);因爲FromDatabase返回一個新的賬戶對象 – t3hn00b

+0

CTRL + K,CTRL + R 要查看對該方法的引用,vs2010pro – jjchiw

+0

如果您已經瀏覽瞭解決方案中的所有文件並且沒有被調用,那麼我會建議找到代碼庫的其餘部分獲取帳戶對象並使用它的方式,因爲此方法很可能未被維護。 – Paddy

回答

1
Account myAccount = Account.FromDatabase(dr); 
0

您可以使用它生活在類的類型名稱調用Account.FromDatabase方法(我assumy它在Account類本身的方法。但是它總是會導致一個Account對象。

你可以創建將解析DbDataRecord對象和任何集合對象返回它,例如一個數組的另一種方法。

1

您可以通過使用class名的static方法屬於調用static方法...

例子:

public class MyClass { 
    public static object MyMethod() {} 
} 

要叫它:

MyClass.MyMethod(); 
2

要使用靜態方法,你只需要使用類,而不是它的一個實例。 IE:說你的方法是在MyClass類,那麼你只是做

MyClass.FromDataBase(yourDataRow); 
+0

如果這些類位於名稱空間內,則可能需要指定它。例如。 MyNamespace.MyClass.FromDataBase(yourDataRow);或者可以使用using指令將名稱空間快捷地放入您正在進行調用的文件中。 – Arkiliknam

+0

而且,這些類是在不同的程序集中,您需要引用它們。 – Arkiliknam

1

調用這樣說:

NameOfStaticClass.FromDatabase(dbRec) 

和NameOfStaticClass是聲明