我看了一些在.NET流量实现的,并认为this approach是相当膨胀:极品虚拟,抽象的静态成员的限制,解决方法为Facebook流量的.NET实现
- 它使用静态成员,而不是枚举,使XAML更好
- 无需转换为/从枚举类型(更简洁的代码)
- 易于集成几乎所有的pub/sub机制。
话虽这么说,我想保持静态属性到字符串编码技术,但我不能做了以下工作:
public class BitnameTypesBase
{
// I want to override this in base classes.. but can't
public static string ChainName;
public static string GET_BITNAME = "get_bitname_" + ChainName;
public static string SEND_BITNAME = "send_bitname_" + ChainName;
public static string QUERY_BITNAME = "query_bitname_" + ChainName;
}
public class BitcoinBitName : BitnameTypesBase
{
// Ouch, can't override field or properties
override public static string ChainName = "Bitcoin";
public static string MySpecialAction = "special_bitname_" + ChainName;
}
public class OthercoinBitName : BitnameTypesBase
{
// Ouch, can't override field or properties
override public static string ChainName = "something new";
public static string MySpecialAction = "special_bitname_" + ChainName;
}
问题
- 语言中是否有这样的内容?
- 有没有我可以做的任何预编译脚本,这将允许这?
- 是否有任何Fody插件,我可以使用,可以帮助(我没看到一个)
'public static new string ChainName {get;组; }'会编译,但我不确定你想要实现什么。 – DavidG
@DavidG我希望'BitcoinBitName.STATIC_STRING_IN_CAPS'能够根据字符串的不同从一个继承类到另一个类.join() – LamonteCristo
@DavidG通过添加第二个硬币使我的用例更加清晰,并实际分配一个覆盖属性/字段的值。 (以工作为准) – LamonteCristo