public T Call<T>(Func<Stream, T> parser, string command, params object[] arguments)
{
byte[] buffer = _encoding.GetBytes(CreateMessage(command, arguments));
_stream.Write(buffer, 0, buffer.Length);
return parser(_stream);
}
2个问题:
1 这个方法签名还有参数是神马意思?
2 return parser(_stream);我按F12还是跳到本方法了,为何?
建议格式化一下代码:
public T Call<T>(Func<Stream, T> parser, string command, params object[] arguments) { byte[] buffer = _encoding.GetBytes(CreateMessage(command, arguments)); _stream.Write(buffer, 0, buffer.Length); return parser(_stream); }
返回值T是个泛型
parser是个委托
parser是参数就是函数的参数,所以f12到了函数的开始部分
@会长: 看看泛型委托的知识点就懂了,祝你好运
@会长: 呃这个<>是指泛型T只是一个占位符