Brain Teaser: Update the above code such that that unit tests pass. Do not update the content of the unit tests (however you are allowed to switch off of xUnit if you like).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using System.Diagnostics; | |
| using System.Runtime.CompilerServices; | |
| using System.Threading; | |
| using System.Threading.Tasks; | |
| namespace GC | |
| { | |
| /* | |
| In dotnet core, finalizer does not appear to be called on shutdown |
- Turn off un-needed software. Especially things with notifications: Slack, Skype, Teams, etc.
- Turn on Focus Assist
- When sharing your desktop, consider sharing a secondary screen rather than the primary screen. Many apps will post notifications to the primary screen so this will help cut down on accidently sharing out notifications.
- Hide desktop icons
- Consider resolution/DPI. Remember that for streaming, people watching may be on lower resolutions; don't stream above 1080p.
- Hide task bar. Either set auto hide, or simply crop the shared section of your screen to omit it.
- Consider if desktop background is appropriate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |
| using System; | |
| using System.Linq; | |
| using System.Reflection; | |
| using System.Reflection.Emit; | |
| using System.Threading.Tasks; | |
| namespace CreateDelegate | |
| { | |
| [TestClass] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public abstract class BindableBehavior<T> : Behavior<T> where T : BindableObject | |
| { | |
| protected override void OnAttachedTo(T bindable) | |
| { | |
| if (bindable != null) | |
| { | |
| this.InheritsBindingContextFrom(bindable); | |
| } | |
| base.OnAttachedTo(bindable); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class Person | |
| { | |
| public string Name { get; set; } | |
| } |
If you look up the docs for how assignment works you will see the explanation that a = b = c is evaluated like a = (b = c). The key is this line from the docs: "The result of a simple assignment expression is the value assigned to the left operand." In this case the result of the (b = c) expression is the value in c which is "John". This then assigns "John" into a.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Build started, please wait... | |
| Build completed. | |
| Test run for C:\Dev\unitTest\bin\Debug\netcoreapp2.1\unitTest.dll(.NETCoreApp,Version=v2.1) | |
| Microsoft (R) Test Execution Command Line Tool Version 15.8.0 | |
| Copyright (c) Microsoft Corporation. All rights reserved. | |
| Starting test execution, please wait... | |
| Total tests: 2. Passed: 2. Failed: 0. Skipped: 0. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/interfaces#interface-implementation-inheritance | |
| class Program | |
| { | |
| static void Main(string[] args) | |
| { | |
| IFoo @base = new Base(); | |
| IFoo derived = new Derived(); | |
| Console.WriteLine(@base.Bar()); //=> Base |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class Service | |
| { | |
| public Result<Person> FindPerson(string query) | |
| { | |
| try | |
| { | |
| Person person = ...; | |
| return person ?? Result.NotFound<Person>(); //Not strictly neccisary; the implicit operator will do a null check. | |
| } | |
| catch (Exception e) |