2014-11-12 4 views
0

내 응용 프로그램에서 새 작업을 만들고 싶었습니다. 나중에이 작업을 추적하기 위해 ...하지만 노력하고있는 방식이 좋지 않다고 생각합니다.)WP8 사용자 지정 작업

public async Task NombreEvento(string json) 
    { 
     var c = new Jumper.Core.Client.Client(); 
     var item2 = await c.CreateDefaultItem(); 
     Jumper.Core.Model.TrackingItem item = item2; 
     item.Type = Jumper.Core.Model.TrackingTypeEnum.Custom; 
     item.Json = json; 
     item.RunningSeconds = 0; 
     var t = new Jumper.Core.Services.ServiceFactory(); 
     var service = await t.serviceFactory.TrackingService.AddItem(item); 
    } 

내 문제는 내가 함수 CreateDefaultItem ... 클라이언트에 오류 (사용할 수 없다는입니다 : 이 내가 노력하고있어입니다 제네릭 형식 Jumper.Core.Client.Client 사용 4 가지 유형의 인수가 필요합니다.

namespace Jumper.Core.Client 
{ 
public sealed class Client 
    <TBaseSaveData, 
    TDeviceServiceHelper, 
    TGeoLocationService, 
    TNetworkService> 
    where TBaseSaveData : BaseSaveDataService, new() 
    where TDeviceServiceHelper : IDeviceServiceHelper, new() 
    where TGeoLocationService : IGeoLocationService, new() 
    where TNetworkService : INetworkService, new() 
{ 

    private readonly int appId; 
    private readonly string appVersion; 
    private readonly ServiceFactory<TBaseSaveData, 
     TDeviceServiceHelper, 
     TGeoLocationService, 
     TNetworkService> serviceFactory; 

    #region Constructors 

    internal Client 
     (int appId, string appVersion) 
    { 
     this.appId = appId; 
     this.appVersion = appVersion; 

     this.serviceFactory = new ServiceFactory<TBaseSaveData, 
     TDeviceServiceHelper, 
     TGeoLocationService, 
     TNetworkService>(); 
    } 
    #endregion 

    #region Private Methods 
    public async Task SendItem(TrackingTypeEnum trackingType, bool flush) 
    { 
     TrackingItem item = await CreateDefaultItem(); 
     item.Type = trackingType; 

     if (trackingType != TrackingTypeEnum.Background) 
     { 
      item.RunningSeconds = 0; 
     } 

     await this.serviceFactory.TrackingService.AddItem(item, flush); 
    } 

    public async Task<TrackingItem> CreateDefaultItem() 
    { 
     Tuple<double, double> location = await this.serviceFactory.GeoLocationService 
      .GetUnifiedGeoLocation(); 

     var assemblyService = this.serviceFactory.AssemblyInfoService; 
     var deviceService = this.serviceFactory.DeviceServiceHelper; 
     var seconds = (DateTime.UtcNow - this.serviceFactory.TrackingService.StartTime).TotalSeconds; 
     TrackingItem item = new TrackingItem() 
     { 

      //APP 
      AppId = this.appId, 
      RunningSeconds = (int)seconds, 
      AppVersion = this.appVersion, 
      Language = CultureInfo.CurrentCulture.TwoLetterISOLanguageName, 
      Country = CultureInfo.CurrentCulture.Name.Substring(3, 2), 

      //Navigation 
      Json = TrackingItem.NULL 
     }; 
     return item; 
    } 
} 

난 (동일한 에러) 함수 serviceFactory에 동일한 문제가있다 : 여기

는 함수 CreateDefaultItem이다.

아무도 도와 줄 수 있습니까?

많은 감사! 난 당신이 사용되는 라이브러리에 익숙하지 오전하지만

var c = new Jumper.Core.Client.Client<Type1, Type2, Type3, Type4>(); 

:

답변

0

글쎄, 당신은 뭔가를 작성해야합니다. 전체 목록이 바로 표시되어 있습니까? 수동으로 Client의 인스턴스를 생성하기로되어 있습니까?

+0

네, 그렇지만 사용해야합니까? 여기에 액세스하는 방법을 모르겠습니다 ... – Javi

+0

어쨌든 '점퍼'프레임 워크는 무엇입니까? 샘플 문서를 보셨습니까? –

+0

Jumper는 앱에서 이벤트를 추적하기 위해 만든 SDK입니다. 나는 너를 그렇게 쉽게 만들기 위해 내가 보여야 만하는 것을 모른다. – Javi