我正在使用非靜態類,並希望將方法的答案顯示在控制檯窗口中。如何在C#中使用非靜態方法顯示返回值
當我將方法更改爲靜態並從Main()調用時,出現錯誤,指出「未將對象引用設置爲對象的實例」。
Why can't you call a non-static method from a static method?
根據這篇文章,我需要創建一個使用「new」關鍵字的對象的實例。我的理解是,你必須爲一個類而不是一個方法創建一個對象。
http://msdn.microsoft.com/en-us/library/ms173110.aspx
所以,我創建了一個新的對象,但它不返回結果。
GetSingleAsset Foo = new GetSingleAsset();
Console.WriteLine(Foo);
輸出只是給出了方法的名稱。
如何查看此非靜態方法的返回值?
public Asset GetSingleAsset()
{
var memberId = Oid.FromToken("Member:20", _context.MetaModel);
var query = new Query(memberId);
var nameAttribute = _context.MetaModel.GetAttributeDefinition("Member.Name");
var emailAttribute = _context.MetaModel.GetAttributeDefinition("Member.Email");
query.Selection.Add(nameAttribute);
query.Selection.Add(emailAttribute);
var result = _context.Services.Retrieve(query);
var member = result.Assets[0];
LogResult(member.Oid.Token,
GetValue(member.GetAttribute(nameAttribute).Value),
GetValue(member.GetAttribute(emailAttribute).Value));
return member;
}
'GetSingleAsset'是一種方法,而不是一個類。 'Foo'應該是包含'GetSingleAsset'的類的類型,你應該寫出'Foo.GetSingleAsset()'而不是'Foo'。 –