質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

3回答

588閲覧

記述の名前について

ShouOkada

総合スコア46

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2017/04/24 13:09

test.A
test.B
test.C
test.D
上記のような記述を下記のように最初にtestを書いておけば以降はカンマから記述出来るような記述の仕方を以前見たのですが、
名前がわからないため調べれなくて困っています。

教えてください。

test
.A
.B
.C
.D

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

各メソッドがthisを返す仕様になって入ればご質問のような書き方ができます。
そうして書かれたこのコードの姿は「メソッドチェーン」と呼ばれます。

投稿2017/04/24 13:57

編集2017/04/24 13:58
yuba

総合スコア5568

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2017/04/24 14:07

this を返すのではなく、this キーワードをつけた第一引数を持つ静的クラスの静的メソッドですね。 public static class Linq { public static void ForEach<T>(this IEnumerable<T> target, Action<T> action) { foreach (var item in target) action(item); } }
yuba

2017/04/24 14:15

拡張メソッドでなくてもできることですし、拡張メソッドでやるとしてもthisを返す必要はあります。
Zuishin

2017/04/24 14:16

C# の話ですよね? どういうコードになりますか?
Zuishin

2017/04/24 14:19

あ、いえすみません。了解です。 今わかりました。おっしゃる通りです。
yuba

2017/04/24 14:26

よくあることです。
ShouOkada

2017/04/24 14:46

メソッドチェーン初めて聞きました。 ありがとうございます。
guest

0

ベストアンサー

VBAでのwith文のようなものという話だと思いますがもしそうなら・・・

この回答にもあるように残念ながらC#にはないとのことです。自分もC#学び始めたときなんだかあるような気がして探しました・・・

投稿2017/04/24 13:34

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2017/04/24 13:35

む、ZuishinさんがおっしゃるようなLINQのメソッドチェーンだとしたら、自分の回答は大外れです。
Zuishin

2017/04/24 13:46

うーん、C# にあるものという前提で考えていましたが、こっちの with 文の方が正解の気がします。
ShouOkada

2017/04/24 14:45

確かにこれです。 C#ではなかったのですね・・・ 申し訳ありませんでした。
guest

0

C# でそんなことできますか?
もしかして、少し違いますが、拡張メソッドあるいは LINQ のことですか?

追記

もし With 文のことでしたら、C# にはありませんが、そのかわり

C#

1var test = new TestClass(); 2test.Property1 = "Hello"; 3test.Property2 = 10;

のような記述を

C#

1var test = new TestClass() 2{ 3 Property1 = "Hello", 4 Property2 = 10 5};

のように書くことができます。

投稿2017/04/24 13:33

編集2017/04/24 13:59
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShouOkada

2017/04/24 14:45

参考にさせていただきます ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問