右。これはおそらく根本的な間違いですが、まだ見落としています... 以下の最初の関数は、コントロール cbContent2 に文字列を出力します。2 番目は空の文字列を返します。最初の文字列と同じ文字列を返す必要があります。
機能 1
private void getRelatedNews(TaxonomyData taxData, string related, string contentTitle)
{
foreach (TaxonomyItemData item in taxData.TaxonomyItems)
{
if (taxData.TaxonomyName.Equals(contentTitle) && taxData.TaxonomyItemCount != 0)
{
related += string.Format("<li><a href='{0}'\">{1}</a></li>", item.TaxonomyItemId.ToString(), item.TaxonomyItemId.ToString());
}
}
// Show all its sub categories
foreach (TaxonomyData cat in taxData.Taxonomy)
{
getRelatedNews(cat, related, contentTitle);
}
cbContent2.Text += related;
}
機能 2
private string getRelatedNews(TaxonomyData taxData, string related, string contentTitle)
{
foreach (TaxonomyItemData item in taxData.TaxonomyItems)
{
if (taxData.TaxonomyName.Equals(contentTitle) && taxData.TaxonomyItemCount != 0)
{
related += string.Format("<li><a href='{0}'\">{1}</a></li>", item.TaxonomyItemId.ToString(), item.TaxonomyItemId.ToString());
}
}
// Show all its sub categories
foreach (TaxonomyData cat in taxData.Taxonomy)
{
getRelatedNews(cat, related, contentTitle);
}
return(related);
}
cbContent2.Text += related と return(related) の違いで何か問題が発生していると思います - Function2 が Function1 と同じ出力を生成するようにする方法についてのアイデアは素晴らしいでしょう...