【问题标题】:Can I return an array of different objects from a method in C#我可以从 C# 中的方法返回一个不同对象的数组吗
【发布时间】:2012-01-30 20:47:50
【问题描述】:

我在 asp.net 中创建自己的“CMS”,从数据库中获取页面内容,然后创建自定义图像对象和 html 内容。 例如,我有一个名为 GetPageInformation(string pageName) 的方法,它返回名称值对的字典,但我希望它返回 3 个图像对象和 1 个字符串文本(带有 html 标记)......这可能吗?

或者如何将这个数据库字符串值转换为对象?

(image path ; alt text ; link)
"~/img/home/homeimage.jpg;my alternate text;my href link"

field separator: ';' 
registry separator: '|'

然后我填充一个对象,例如:

string[] images = myDBstring.Split('|');

PageImage.Path = images[0].Split(';')[0];
PageImage.AlternateText = images[0].Split(';')[1];
PageImage.LinkUrl = images[0].Split(';')[2];
//...

//PageImage derives from System.Web.UI.WebControls.Image 

抱歉我的英语不好...谢谢!

【问题讨论】:

  • 可以避免将字符串拆分三遍:string[] splitResult = images[0].Split(';'); PageImage.Path = splitResult[0]; PageImage.AlternateText = splitResult[1]; PageImage.LinkUrl = splitResult[2];
  • @phoog 是的,我猜我只是懒xD

标签: c# asp.net


【解决方案1】:

您可能总是返回对象数组object[] 或字典,即。 Dictionary<string, object>。但是,我想创建满足您需求的类会更好 - 即包含带有 html 内容和图像数组的字符串的类。

【讨论】:

    【解决方案2】:

    .Net 中的所有类都继承自Object Class,您可以返回一个数组或对象列表

      object[]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 2011-09-27
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多