0

我想知道是否有一个现有的类(例如 Monotouch 的 UIColor)是否有办法扩展构造函数。这将使我们更容易使用图书馆。

public static class UIColorExtender
{
    public UIColor(string hex)
    {
        this = ConvertHexToUIColor(hex); // This isn't necessarily the code, just filler.
    }
}
4

3 回答 3

4

不,目前 C# 中没有这种方法。从类继承并使用您自己的构造函数逻辑。使用新类代替旧类。

于 2013-08-01T17:05:47.107 回答
1

也许这个问题试图达到和你一样的效果? Monotouch中来自Hex的UIColor

在查看 UIColor 类时,它似乎在使用其他格式时主要使用工厂模式,而不仅仅是 R、G、B 和 alpha 的 4 个浮点值:

UIColor.FromHSB(float, float, float)
UIColor.FromWhiteAlpha(float, float)

..还有很多

所以我认为最好的解决方案就像上面问题中的 Luis 一样。

于 2013-08-01T17:47:56.473 回答
0

构造函数不能扩展。您可以从该类继承并实现您自己的,或者,如果所讨论的类不包含只读属性,则创建一个初始化方法以在构造函数之后调用。

于 2013-08-01T17:13:30.300 回答