|
■No77299 (ゆーきゃん さん) に返信 > public static void pen_c(Pen pen_color) 引数で返却するのであれば、 public static void pen_c(out Pen pen_color) という宣言にする必要があります。
しかし今回の場合は、戻り値で扱ったほうが良いと思います。 具体的には、 > public static void pen_c(Pen pen_color) を public static Pen pen_c() に変更し、さらに > pen_color = new Pen(Color.Black, 1); の代わりに return new Pen(Color.Black, 1); とします。
それを利用する側は、 > e.Graphics.DrawEllipse( /*ここにPen_color情報を持ってきたい */., k.zahyou_x, k.zahyou_y, 1, 1); の部分を、下記のように変更します。
// Pen は IDisposable であり、使用後には // Dispose する必要があるため、using ブロックで囲む using(Pen p = Pens_Color.pen_c()) { e.Graphics.DrawEllipse(p, k.zahyou_x, k.zahyou_y, 1, 1); }
もし、利用側で using するのが面倒なようなら、 (pen_c メソッドで)毎回 new Pen(…); するのではなく、 生成済みの Pen インスタンスを返却するようにしておくと 良いかと思います。 (Pens クラスの static なプロパティのようにするということ)
|