>>34
それは良いんだけど…型"パラメーター"だから型名ではなく識別子を書く…つまり>>29は文法間違ってる
ターゲットクラスのジェネリック型とメソッド引数が同一型なら>>33のようにすれば良いし、
クラス自体も設定する値もジェネリックにするなら複数の型パラメータを定義してください、必要に応じてwhere制約など使って

>>35
.NET4以降ならString.Join<byte>(":",a)だけで済むけど
それ未満ならaを事前にArray.ConvertAllやらLINQで、Convert.ToStringなりラムダ式で処理しておくとか