あるメソッドから別のメソッドにオブジェクトを渡すにはどうすればよいですか?以下のコードから は、私は、 ヨルダンASP.NET C#でオブジェクトをメソッドに渡す
1
A
答えて
7
あなたはすでにそれを渡しているありがとうございますが、唯一の問題は、あなたが抱えているoutputData()
public class Event
{
public int ID {get; set;}
}
public void xmlReader()
{
Event newEvent = new Event;
newEvent.ID = 56;
outputData(newEvent);
}
public void outputData(object theEvent)
{
MainContainerDiv.InnerHtml = theEvent.ID;
}
へxmlReader()
からnewEvent
を渡したいですこれは、次のとおりです。
public void outputData(object theEvent)
{
MainContainerDiv.InnerHtml = ((Event)theEvent).ID;
}
または
public void outputData(Event theEvent)
{
MainContainerDiv.InnerHtml = theEvent.ID;
}
object
を特定の種類(第1の解決策)にキャストするか、特定の種類をパラメータに設定する必要があります(第2の解決策)。もちろん、同じメソッドが多くの異なる呼び出し元によって呼び出される場合は、より大きな問題になります。この場合、より堅牢なアプローチは、パラメータの型をチェックすることです:私はあなたが意味だと思う何
public void outputData(Event theEvent)
1
変更
public void outputData(object theEvent)
を私からtheEventを回すんか」ですオブジェクトをEvent
に戻します。この場合、
public void outputData(object theEvent)
{
MainContainerDiv.InnerHtml = ((Event)theEvent).ID;
}
それはむしろ、オブジェクトパラメータよりも、イベントのパラメータを取るように
は、より良いオプションは、出力データのためのメソッドシグネチャを変更するには、次のようになります。
public void outputData(Event theEvent)
{
MainContainerDiv.InnerHtml = theEvent.ID;
}
をした場合、何らかの理由で、あなたがobject
としてtheEvent
を渡す必要があり、しかし、あなたはoutputData
内で使用するために複数回必要になることがあり、第一の方法のバリエーションがあります:
public void outputData(object theEvent)
{
var event = (Event)theEvent;
MainContainerDiv.InnerHtml = event.ID;
//
// You can now use "event" as a strongly typed Event object for any further
// required lines of code
}
1
へ
public void outputData(object theEvent)
{
if (theEvent is Event)
{
MainContainerDiv.InnerHtml = (theEvent as Evenet).ID;
}
// process others as necessary
}
0
あなたは正しくオブジェクトを渡しますが渡している鋳造アップすることです....
OutputDataがタイプイベントのオブジェクトのみを受け入れる場合、オブジェクトの定義は
public void outputData (Event theEvent) {
......
}
関連する問題
- 1. 異なるメソッドにオブジェクトを渡すC#
- 2. cythonで別のオブジェクトのメソッドにC++オブジェクトを渡す方法
- 3. asp.net - メソッドに行を渡す
- 4. Buttonオブジェクトをメソッドに渡す
- 5. プレーンなC#オブジェクトをC++に渡して、そのオブジェクトのメソッドを呼び出す
- 6. メソッドをBackgroundWorker.DoEventに渡すC#
- 7. メソッドをC++のメソッドに渡す
- 8. anglejs配列をASP.Net MVCメソッドに渡す
- 9. オブジェクトのメソッドにデータフレームを渡すには?
- 10. ASP.NET BoilerplateでサービスAPIを呼び出すメソッドのオブジェクトを渡す方法は?
- 11. findメソッド(typeORM)で配列オブジェクトを渡す
- 12. C++で関数にオブジェクトを渡す
- 13. Getメソッドにオブジェクトを渡すWeb API
- 14. Jetty:mainメソッドからサーブレットにオブジェクトを渡す
- 15. オブジェクトをメソッドに渡しますか?
- 16. Scalaのメソッドにオブジェクトを渡す方法
- 17. QueryBuildDataSorceオブジェクトのaddLinkメソッドにテーブルメソッドを渡す
- 18. JSオブジェクトのメソッドを渡すには?
- 19. NSTimerのメソッドにオブジェクトを渡す
- 20. 汎用オブジェクトをメソッドに渡す
- 21. GroovyオブジェクトをJavaメソッドに渡す
- 22. オブジェクト配列をメソッドに渡す方法
- 23. オブジェクトをDistributedCache setメソッドに渡すか?
- 24. オブジェクトのコピーをメソッドに渡す
- 25. オブジェクトをメソッドやコンストラクタ経由で他のオブジェクトに渡す?
- 26. javascript配列をC#メソッドに渡す
- 27. メソッドにvar型を渡す方法C#
- 28. C#:汎用オブジェクトを渡す
- 29. メソッドを呼び出さずに別のメソッドでメソッドを渡し、変数オブジェクトを渡します。
- 30. UserControlオブジェクトasp.netでレンダリングC#
となります。迅速で有益な回答に感謝します。 – jtlowe