C#一覧

c# XML-RPCでWordPressにファイルをアップロードする

WordPress に投稿するにあたってもう一つ押さえておきたいのがファイルのアップロード。
記事内で画像を表示させるような使い方は普通にするだろうし。

インターフェイス定義

前回作成したインターフェイス(IWordPress)に wp.uploadFileを追加。

    public interface IWordpress : IXmlRpcProxy
    {
        [XmlRpcMethod("wp.newPost")]
        string newPost(int blog_id, string username, string password, WpContent content);

        [XmlRpcMethod("wp.getTerms")]
        WpTerm[] getTerms(int blog_id, string username, string password, string taxonomy);

        [XmlRpcMethod("wp.uploadFile")]
        WpUploadFileResult uploadFile(int blog_id, string username, string password, WpUploadFileData data);
    }

プログID、ユーザー名、パスワードは今までのメソッドと同じ。
アップロードファイルに関する「引数」および「戻り値」はそれぞれ専用の構造体で定義する。
続きを読む


c# XML-RPCでWordPressのカテゴリやタグの一覧を取得する

前回 XML-RPC で WordPress に投稿してみた。

c# XML-RPCでWordPressに投稿する

実際アプリケーションを作る場合は既存カテゴリやタグの一覧を取得することもあるかと思ったのでついでにやってみる。

インターフェイス定義

前回作成したインターフェイス(IWordPress)に wp.getTerms を追加。

    public interface IWordpress : IXmlRpcProxy
    {
        [XmlRpcMethod("wp.newPost")]
        string newPost(int blog_id, string username, string password, WpContent content);

        [XmlRpcMethod("wp.getTerms")]
        WpTerm[] getTerms(int blog_id, string username, string password, string taxonomy);
    }

使い方は taxonomy に名称を指定して取得。

  • 「category」 => カテゴリー
  • 「post_tag」 => タグ

続きを読む


c# XML-RPCでWordPressに投稿する

C# で XML-RPC を使用した WordPress 投稿を試してみたのでその備忘録。

.NET用ライブラリ

調べてみると既にライブラリ化された DLL が公開されていた。

XML-RPC.NET

「商用プログラムでも使用」と自己紹介されているので有名なライブラリなのだろう。

ダウンロードページから安定版らしき xml-rpc.net.2.5.0.zip をダウンロード。
解凍して /bin/CookComputing.XmlRpcV2.dll を参照設定すれば使えるようになる。
(要 .NET Framework 2.0 以上)
続きを読む


c# 逆XMLシリアル化時に改行を維持する

C# のデスクトップアプリで設定を保存する方法は色々と選択肢があっていつも悩む。

  • ApplicationSettingsBase
  • レジストリ
  • INIファイル
  • 自前で処理

個人的には自作の設定クラスを定義してシリアライズする方法をよく使うが、先日マルチラインが有効になっているテキストボックスの内容を保存したところ「逆XMLシリアル化時に改行が消える」という症状にぶちあたったので解決策をメモっておく。

設定クラス

とりあえず設定値を格納するクラスを定義。

    public class Test
    {
        public string Value = string.Empty;
    }

実際はもっと大量に項目があるがサンプルなので一つだけ。
当然シリアル化できない型を含んではダメ。(Dictionaryとか)
続きを読む


C# プラグイン方式で動的にDLLを読み込む

C#でプラグイン風の機能を使ってみたのでメモ。

基本的なポイントは次の通り。

  • 所定のディレクトリにあるプラグインを読み込む
  • プラグイン自体は.NET FrameworkのDLL
  • プラグインDLLは共通のインターフェイスをもつ

サンプルプロジェクトの構成

Visual Studio のソリューションにプロジェクトを4つ作成。

プロジェクト名 種類 参照設定 備考
HogeMain Windows フォームアプリケーション HogePlugin,Namihei,Fune スタートアッププロジェクト
HogePlugin クラスライブラリ プラグインのインターフェイス
Namihei クラスライブラリ HogePlugin プラグイン1
Fune クラスライブラリ HogePlugin プラグイン2

プラグインの共通仕様をDLLにして共有する(HogePlugin)。中身は普通のインターフェイス。

HogeMain でプラグイン(Hamihei,Fune)を参照設定しているのは、実行フォルダにプラグインDLLを作成する為だけの目的なので本来は必要ない。

HogeMain にテキストボックスを1つ追加すれば準備完了。
続きを読む


スポンサーリンク