Update solution to support Visual Studio 2013. Fix problems with async quote events

This commit is contained in:
vdemydiuk
2016-04-09 17:29:15 +03:00
parent c256e4f80f
commit 9b40712c9c
13 changed files with 172 additions and 25 deletions
+24 -5
View File
@@ -2,26 +2,45 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MtApi
{
static class ExtensionMethods
{
#region Event Methods
public static void FireEvent(this EventHandler eventHandler, object sender)
public static async void FireEvent(this MtApiQuoteHandler evenHandler, object sender, string symbol, double bid, double ask)
{
if (eventHandler != null)
if (evenHandler != null)
{
eventHandler(sender, EventArgs.Empty);
await Task.Factory.StartNew(() =>
{
evenHandler(sender, symbol, bid, ask);
});
}
}
public static void FireEvent<T>(this EventHandler<T> eventHandler, object sender, T e)
public static async void FireEvent(this EventHandler eventHandler, object sender)
{
if (eventHandler != null)
{
await Task.Factory.StartNew(() =>
{
eventHandler(sender, EventArgs.Empty);
});
}
}
public static async void FireEvent<T>(this EventHandler<T> eventHandler, object sender, T e)
where T : EventArgs
{
if (eventHandler != null)
{
eventHandler(sender, e);
await Task.Factory.StartNew(() =>
{
eventHandler(sender, e);
});
}
}
+3 -1
View File
@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MtApi</RootNamespace>
<AssemblyName>MtApi</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
@@ -23,6 +23,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -32,6 +33,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
+1 -4
View File
@@ -1314,10 +1314,7 @@ namespace MtApi
{
if (quote != null)
{
if (QuoteUpdated != null)
{
QuoteUpdated(this, quote.Instrument, quote.Bid, quote.Ask);
}
QuoteUpdated.FireEvent(this, quote.Instrument, quote.Bid, quote.Ask);
}
}