You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace ZeroLevel.Services.ObjectMapping
|
|
|
|
|
{
|
|
|
|
|
public interface IMapper
|
|
|
|
|
{
|
|
|
|
|
IEnumerable<string> MemberNames { get; }
|
|
|
|
|
IMemberInfo this[string name] { get; }
|
|
|
|
|
IEnumerable<IMemberInfo> Members { get; }
|
|
|
|
|
Type EntityType { get; }
|
|
|
|
|
void TraversalMembers(Action<IMemberInfo> callback);
|
|
|
|
|
void TraversalMembers(Func<IMemberInfo, bool> callback);
|
|
|
|
|
void SetTypeConverter(Func<IMemberInfo, object, object> converter);
|
|
|
|
|
bool Exists(string name);
|
|
|
|
|
|
|
|
|
|
void Set(object instance, string name, object value);
|
|
|
|
|
object Get(object instance, string name);
|
|
|
|
|
T Get<T>(object instance, string name);
|
|
|
|
|
T GetOrDefault<T>(object instance, string name, T defaultValue);
|
|
|
|
|
object GetOrDefault(object instance, string name, object defaultValue);
|
|
|
|
|
}
|
|
|
|
|
}
|