我已经谈到了一个小问题,这个问题并不是由看似相同的问题的普遍可用的解决方案解决的。
考虑:
我有一组动态生成的类,继承自一个已知的基类(让我们称之为BaseClass)。这些动态生成的类还具有具有关联属性的动态生成的Properties。
属性也属于自定义类,尽管不是动态生成的:
[AttributeUsage(AttributeTargets.Property)]
class TypeAttribute: Attribute
{
private Type _type;
public Type Type
{
get { return _type; }
我的代码中有这样的代码
switch (auctionType)
{
case AuctionTypes.OpenBid:
destination = new EnglishAuction();
break;
case AuctionTypes.FixedPrice:
destination = new BuyoutAuction();
我有一个模型类对象,它具有以下属性
@property (nonatomic, strong) NSString *place;
@property (nonatomic, strong) NSString *date;
我正在从一个控制器类对象中设置这些属性。
我想对我的模型类对象属性执行空检查。所以我想写一个for循环,如下所示。
for (property in modelObject)
{
if (object == [NSNull null])//object is a property of modelobject
{
//the next two lines
我希望我的服务能够接受并返回从BaseType派生的类型,而不必真正知道这些类型是什么。我几乎得到了一个基于DataContractResolver的自定义解决方案。
拼图中缺少的部分是,我的服务将处理的类型可能不会被服务共享和知道,但是我仍然希望接受它们,并且知道应该是什么类型。我提出了下面的服务示例,它充当堆栈。您可以推送和弹出从BaseType派生的任何类型,只要您使用SharedTypeResolver,并且这些类型在客户端和服务器之间共享。
[DataContract]
public class BaseType
{
[DataMember]
public strin
我想要创建一个模板类,它将为类提供泛型方法,使类有一个成员m_Type来指定继承类提供的某种类型。考虑到这一点:
template<typename T>
struct TypeAttribute
{
T m_Type;
};
template<typename T>
struct TypeAttribute2
{
using Type = typename T::Type;
Type m_Type;
};
struct Foo : TypeAttribute<Foo::Type>
{
enum class Type