基于c#类获取*.proto文件

Sha*_*rov 4 protobuf-net

我有以下用例:有几个用 ProtoContract 类装饰的程序集,我想根据程序集生成 proto 文件。所以问题是如何做到这一点?

我的第一个意图是使用 Serailizer.GetProto 但它是通用方法,对我不起作用,因为我只知道运行时的类类型。

另外为什么在 r480 GetProto 中没有实现?

我也知道 VS08/10,但它似乎对我的场景没有帮助。

提前致谢。

Ric*_*lly 5

您可以Serializer.GetProto通过一点反思来使用该方法:

var method = typeof(Serializer).GetMethod("GetProto").MakeGenericMethod(type);
Func<string> getProto = Delegate.CreateDelegate(typeof(Func<string>), method);
var proto = getProto();
Run Code Online (Sandbox Code Playgroud)