Как получить имя класса в универсальном конструкторе - PullRequest
0 голосов
/ 06 июня 2018

Есть ли способ получить имя класса в contstructor, чтобы впоследствии его можно было использовать для нескольких методов?

Это не работает, очевидно, но есть какой-то способ сделать это ... или мне просто нужно создать экземпляр нового экземпляра этого класса в конструкторе, а затем сделать _className = classInstance.GetType().Name?

public class Repository<TEntity> : IRepository<TEntity>
    where TEntity : class, Domain.IEntity, new()
{
    private APIContext _apiContext;
    private string _className;

    public Repository(APIContext apiContext)
    {
        _apiContext = apiContext;
        _className = TEntity.GetType().Name; <---- any way to do this?
    }

    public async Task<TEntity> GetByIdAsync(int id)
    {

        string strPath = string.Format("/{0}s/v1/{1}", _className, id); <----**used here**

        string jsonStringResponse = await RestAPIHelper.Get(_apiContext, strPath);
        TEntity entity = JsonConvert.DeserializeObject<TEntity>(jsonStringResponse);
        return entity;
    }
}

1 Ответ

0 голосов
/ 06 июня 2018

должно быть

_className = typeof(TEntity).Name; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...