如何为对象制作数组? [英] How to make array for object?

查看:67
本文介绍了如何为对象制作数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想动态创建MediaObjectUrl对象以在我的博客上传图像文件。

图像的路径有序列所以我想让网址用于循环。

这是我的源代码我已经厌倦了如下,但它不起作用。

任何人都可以修复我的错误源代码

提前谢谢。



  for  int  i =  1 ; i <  =  3 ; i ++)
{
MediaObjectUrl [] MO_url = mw.newMediaObject(blogid,username,password,mw.CreateMediaObject(i.ToString())) ;
}
发布帖子= 帖子();
// post.categories = new string [] {Test Posts};
post.title = 测试标题 ;
//내용작성
post.description =
< img src = + MO_url [1] .url.ToString()+
< br> +
< img src = + MO_url [2] .url.ToString()+ > +

< br> +
< img src = + MO_url [3] .url.ToString()+ > 在MetaWebBlogapi.cs中 +









  public   struct  MediaObjectUrl 
{
public string url;
}

public struct MediaObject
{
public string name;
public string type;
public byte []位;
}


public class MetaWeblogApi:XmlRpcClientProtocol
{
public MetaWeblogApi( String uri)
{
base .Url = uri;
}
// 发布
[XmlRpcMethod( metaWeblog.newPost)]
public string newPost( string BlogID, string ID,字符串密码,发布内容, bool 发​​布)
{
return string this .Invoke( newPost new object [] {BlogID,ID,密码,内容,发布});
}

// 文件上传
[ XmlRpcMethod( metaWeblog.newMediaObject)]
public MediaObjectUrl newMediaObject( string BlogID, string ID, string 密码,MediaObject MediaObject)
{
return (MediaObjectUrl) .Invoke( newMediaObject new object [] {BlogID,ID,Password,MediaObject});
}


public MediaObject CreateMediaObject( string FilePath)
{

if (File.Exists(FilePath)== false throw new 例外( 没有文件);

MediaObject MediaObject = new MediaObject();
MediaObject.name = Path.GetFileName(FilePath);
MediaObject.bits = File.ReadAllBytes(FilePath);


string Extention = Path.GetExtension(FilePath);
MediaObject.type = application / + Extention;


RegistryKey Key = Registry.ClassesRoot.OpenSubKey(Extention);
if (Key!= null
{
string 结果=( string )Key.GetValue( 内容类型);
if (结果!= null )MediaObject.type = Result;
}

return MediaObject;

}
}





我的尝试: < br $> b $ b

................................... .......

解决方案

第一个代码块看起来不正确。尝试:

 MediaObjectUrl [] MO_url; 
for int i = 1 ; i < = 3 ; i ++)
{
MO_url [ i] = mw.newMediaObject(blogid,username,password,mw.CreateMediaObject(i.ToString()));
}
发布帖子= 帖子();
// post.categories = new string [] {Test Posts};
post.title = 测试标题 ;
//내용작성
post.description =
< img src = + MO_url [0] .url.ToString()+< br mode = hold = />>< br> +
< img src = + MO_url [1]。 url.ToString()+ > +

< br> +
< img src = + MO_url [2] .url.ToString()+ > < / img>< / br>< / img>< / br>< / img>


Hi,
I want to create MediaObjectUrl object dynamically to upload image files on my blog.
The images's path has sequence so I want to make the url using for loop.
Here is my source code I have tired like this below but it doesn't work.
Can anybody fix my bad source code
Thank you in advance.

for (int i = 1; i <= 3; i++)
               {
                   MediaObjectUrl[] MO_url= mw.newMediaObject(blogid, username, password, mw.CreateMediaObject(i.ToString()));
               }
               Post post = new Post();
               //post.categories = new string[] { "Test Posts" };
               post.title = "Test Title"";
               //내용 작성
               post.description =  "<img src =" + MO_url[1].url.ToString() + 
                                  "<br>" +
                                  "<img src =" +MO_url[2].url.ToString()+">"+
                             
                                   "<br>" +
                                   "<img src =" + MO_url[3].url.ToString() + ">" +




in MetaWebBlogapi.cs

public struct MediaObjectUrl
  {
      public string url;
  }

  public struct MediaObject
  {
      public string name;
      public string type;
      public byte[] bits;
  }


  public class MetaWeblogApi : XmlRpcClientProtocol
  {
      public MetaWeblogApi(String uri)
      {
          base.Url = uri;
      }
      // posting
      [XmlRpcMethod("metaWeblog.newPost")]
      public string newPost(string BlogID, string ID, string Password, Post Content, bool Publish)
      {
          return (string)this.Invoke("newPost", new object[] { BlogID, ID, Password, Content, Publish });
      }

      // file upload
      [XmlRpcMethod("metaWeblog.newMediaObject")]
      public MediaObjectUrl newMediaObject(string BlogID, string ID, string Password, MediaObject MediaObject)
      {
          return (MediaObjectUrl)this.Invoke("newMediaObject", new object[] { BlogID, ID, Password, MediaObject });
      }

      
      public MediaObject CreateMediaObject(string FilePath)
      {

          if (File.Exists(FilePath) == false) throw new Exception("No file exist");

          MediaObject MediaObject = new MediaObject();
          MediaObject.name = Path.GetFileName(FilePath);
          MediaObject.bits = File.ReadAllBytes(FilePath);


          string Extention = Path.GetExtension(FilePath);
          MediaObject.type = "application/" + Extention;  

          
          RegistryKey Key = Registry.ClassesRoot.OpenSubKey(Extention);
          if (Key != null)
          {
              string Result = (string)Key.GetValue("Content Type");
              if (Result != null) MediaObject.type = Result;
          }

          return MediaObject;

      }
  }



What I have tried:

..........................................

解决方案

That first block of code does not look right. Try:

MediaObjectUrl[] MO_url;
for (int i = 1; i <= 3; i++)
{
    MO_url[i] = mw.newMediaObject(blogid, username, password, mw.CreateMediaObject(i.ToString()));
}
Post post = new Post();
//post.categories = new string[] { "Test Posts" };
post.title = "Test Title"";
//내용 작성
post.description =  "<img src=" + MO_url[0].url.ToString() + <br mode=" hold=" />                                  "><br>" +
                                  "<img src=" +MO_url[1].url.ToString()+">"+
                             
                                   "<br>" +
                                   "<img src=" + MO_url[2].url.ToString() + ">" +</img></br></img></br></img>


这篇关于如何为对象制作数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆