Click here to Skip to main content
15,886,760 members
Home / Discussions / C#
   

C#

 
AnswerRe: Scheduled Services Architecture Pin
Bernhard Hiller28-Mar-17 21:13
Bernhard Hiller28-Mar-17 21:13 
GeneralRe: Scheduled Services Architecture Pin
Kevin Marois29-Mar-17 4:15
professionalKevin Marois29-Mar-17 4:15 
GeneralRe: Scheduled Services Architecture Pin
Kevin Marois29-Mar-17 4:19
professionalKevin Marois29-Mar-17 4:19 
QuestionHandle Exception In Thread Pin
Kevin Marois27-Mar-17 9:35
professionalKevin Marois27-Mar-17 9:35 
AnswerRe: Handle Exception In Thread Pin
Rob Philpott28-Mar-17 0:01
Rob Philpott28-Mar-17 0:01 
GeneralRe: Handle Exception In Thread Pin
Kevin Marois28-Mar-17 5:55
professionalKevin Marois28-Mar-17 5:55 
AnswerRe: Handle Exception In Thread Pin
Nathan Minier28-Mar-17 1:35
professionalNathan Minier28-Mar-17 1:35 
AnswerRe: Handle Exception In Thread Pin
Richard Deeming28-Mar-17 1:43
mveRichard Deeming28-Mar-17 1:43 
The as operator can return null. If you're not sure whether the type implements the interface, you should check for null before you add the service to the list. If you are sure, or you want an exception if it doesn't, then switch to using a cast instead:
C#
var serviceClass = Activator.CreateInstance(type) as IInstrumentService;
if (serviceClass != null) _services.Add(serviceClass);

// Or:
var serviceClass = (IInstrumentService)Activator.CreateInstance(type);
_services.Add(serviceClass);

You could pass TaskContinuationOptions.OnlyOnFaulted, which would remove the need to test whether the task has an exception.
C#
.ContinueWith(task =>
{
    // Handle the exception here
}, TaskContinuationOptions.OnlyOnFaulted);

Also, Task.Run is generally preferred over Task.Factory.StartNew:
Task.Run vs Task.Factory.StartNew | Parallel Programming with .NET[^]
C#
Task.Run(() => service.Start()).ContinueWith(...




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


QuestionC# Read random line Pin
Pavlex426-Mar-17 10:00
Pavlex426-Mar-17 10:00 
AnswerRe: C# Read random line Pin
Dave Kreskowiak26-Mar-17 12:52
mveDave Kreskowiak26-Mar-17 12:52 
AnswerRe: C# Read random line Pin
Garth J Lancaster26-Mar-17 13:50
professionalGarth J Lancaster26-Mar-17 13:50 
AnswerRe: C# Read random line Pin
OriginalGriff26-Mar-17 21:37
mveOriginalGriff26-Mar-17 21:37 
GeneralRe: C# Read random line Pin
Pavlex426-Mar-17 21:52
Pavlex426-Mar-17 21:52 
GeneralRe: C# Read random line Pin
OriginalGriff26-Mar-17 22:12
mveOriginalGriff26-Mar-17 22:12 
GeneralRe: C# Read random line Pin
Pavlex426-Mar-17 23:41
Pavlex426-Mar-17 23:41 
GeneralRe: C# Read random line Pin
Pete O'Hanlon26-Mar-17 23:45
mvePete O'Hanlon26-Mar-17 23:45 
GeneralRe: C# Read random line Pin
Pavlex427-Mar-17 0:03
Pavlex427-Mar-17 0:03 
GeneralRe: C# Read random line Pin
Pete O'Hanlon27-Mar-17 0:07
mvePete O'Hanlon27-Mar-17 0:07 
AnswerRe: C# Read random line Pin
Luc Pattyn27-Mar-17 11:15
sitebuilderLuc Pattyn27-Mar-17 11:15 
QuestionHow can I create multi-threads application in which each thread have its own WebDriver to do its tasks? Pin
khanhsk26-Mar-17 4:29
khanhsk26-Mar-17 4:29 
AnswerRe: How can I create multi-threads application in which each thread have its own WebDriver to do its tasks? Pin
Dave Kreskowiak26-Mar-17 4:49
mveDave Kreskowiak26-Mar-17 4:49 
GeneralRe: How can I create multi-threads application in which each thread have its own WebDriver to do its tasks? Pin
khanhsk26-Mar-17 23:49
khanhsk26-Mar-17 23:49 
QuestionVisual Studio 2017 problems Pin
zequion25-Mar-17 23:30
professionalzequion25-Mar-17 23:30 
AnswerRe: Visual Studio 2017 problems Pin
Michael_Davies26-Mar-17 0:11
Michael_Davies26-Mar-17 0:11 
AnswerRe: Visual Studio 2017 problems Pin
Richard MacCutchan26-Mar-17 1:37
mveRichard MacCutchan26-Mar-17 1:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.