トップページ > プログラム > 2015年12月19日 > iJ9DwtfK

書き込み順位&時間帯一覧

22 位/233 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000001203



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net

書き込みレス一覧

クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net
964 :デフォルトの名無しさん[sage]:2015/12/19(土) 21:00:09.16 ID:iJ9DwtfK
c#なのですが、タプルの拡張メソッドとして実装し、タプルを展開してメソッドに割り当てる拡張メソッドの名前を考えています。

定義は↓こんなので
public static RType Assign<T1, T2, RType>(this Tuple<T1, T2> tuple, Func<T1, T2, RType> func)
{
    return func(tuple.Item1, tuple.Item2);
}

使い方は↓こんなのです。
var tuple = Tuple.Create(1, "2");
Func<int, string, string> func = (x, y) => x.ToString() + y.ToString();
var ret = tuple.Assign(func);

今は名前を.Assignとしていますが
・Pipe
・Pipeline
などの方が良い気もします。

メソッドの書き方を逆にした形になるため
間に入る文字(メソッド名)はできるだけ短くできればと考えています。

なにか良い案があればお願いします。
クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net
974 :デフォルトの名無しさん[sage]:2015/12/19(土) 22:31:58.71 ID:iJ9DwtfK
> 965-972
皆さんありがとうございます。

いくつか案を出していただきましたのでこの中から考えてみようかと思います。

一応想定している使い方としては

↓定義
public static Tuple<T1, T2> ToTuple<T1, T2>(this T1 t1, T2 t2)
{
return Tuple.Create(t1, t2);
}

public static RType Assign<T1, T2, RType>(this Tuple<T1, T2> tuple, Func<T1, T2, RType> func)
{
    return func(tuple.Item1, tuple.Item2);
}

使い方

public int Plus(int num1, int num2)
{
クラス名・変数名に迷ったら書き込むスレ。Part25 [転載禁止]©2ch.net
975 :デフォルトの名無しさん[sage]:2015/12/19(土) 22:36:43.15 ID:iJ9DwtfK
途中で書き込んでしまいました。

使い方

public int Plus(int num1, int num2)
{
return num1 + num2;
}

var ret = 1.ToTuple(2)
.Assign(Plus).ToTuple(3)
.Assign(Plus).ToTuple(4);

/*
var a = Plus(1, 2);
var b = Plus(a, 3);
var ret = Plus(a, 4);
*/

見たいにメソッドチェインにしたかっただけです。

ありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。