4

我有两个包含扩展方法的项目。一个项目是使用 C# 实现的,另一个项目是使用 VB.NET 实现的,因为有些事情我可以在 VB.NET 中做而我在 C# 中做不到,我想在我的扩展方法中利用这些功能。

如何命名项目以传达它们的含义,同时区分它们是用不同的语言实现的?

对于 C# 精英:

VB.NET 支持的 C# 不支持的功能之一:

C# 扩展方法不允许通过引用传递参数吗?

仅供参考:这不适用于引用类型,这是我感兴趣的。

public static void LoadFromXml<T>(this T targetObject, string xml)
{

    targetObject = _Serializer.DeserializeFromXML<T>(xml);

}
4

2 回答 2

5

如何命名项目以传达它们的含义,同时区分它们是用不同的语言实现的?

我实际上不会传达这一点。给这两个项目起一个有意义的名字。每个项目都应该可以被两种语言使用,因此无论用于创建项目的语言如何,名称都应该是有意义的。

于 2012-06-12T19:56:14.590 回答
2

Ah... just saw your comment. I would recommend implementing most of your extension methods in C# and calling it "Core", then implement the extra features in VB.NET and call it "Extended".

Then, have the VB.NET explicitly reference Core and inherit from it. Users can then use the Core assembly for most of the tasks, or Extended for the additional features.

EDIT: I still think your users would be better off if you figured out a way NOT to split the assemblies, but obviously I don't know all of your requirements/implementation details.

于 2012-06-12T19:51:04.267 回答