如何为对象制作数组? [英] How to make array for object?
本文介绍了如何为对象制作数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想动态创建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屋!
查看全文