Skip to content

Instantly share code, notes, and snippets.

View MikeCodesDotNET's full-sized avatar
💯
Avalonia!

Mike James MikeCodesDotNET

💯
Avalonia!
View GitHub Profile
@MikeCodesDotNET
MikeCodesDotNET / Signup.cs
Last active August 29, 2015 14:22
Parse.com user signup with C#
private async Task ExecuteSignUpUserCommand ()
{
if (IsBusy) {
return;
}
IsBusy = true;
try
{
//Keys.cs
public class Keys
{
public static readonly string XamarinInsightsKey = "0000";
public static readonly string ParseAppKey = "0000";
public static readonly string ParseDotNetKey = "0000";
}
@MikeCodesDotNET
MikeCodesDotNET / RoslynCodeSnippet_2.cs
Last active May 11, 2020 12:40
code snippet for blog post
public static async Task Main(string[] args)
{
Console.WriteLine("Write some C#");
var evaluate = true;
while(evaluate)
{
var input = Console.ReadLine();
if(input == "exit")
//Allows for analysing source code
using Microsoft.CodeAnalysis;
//Provides the CSharpScript factory class
using Microsoft.CodeAnalysis.CSharp.Scripting;
//This is where most of the magic happens
using Microsoft.CodeAnalysis.Scripting;
using Microsoft.CodeAnalysis.CSharp.Scripting;
public static async Task Main(string[] args)
{
var userScriptPath = Path.Combine(Environment.CurrentDirectory, "scriptInput.txt");
var fileContents = File.ReadAllText(userScriptPath);
Script script = CSharpScript.Create(fileContents, ScriptOptions.Default);
var result = await script.RunAsync();
Console.WriteLine($"Seconds in a week: {result.GetVariable("seconds").Value}");
}
System.TimeSpan sinceMidnight = System.DateTime.Now - System.DateTime.Today;
var seconds = sinceMidnight.TotalSeconds;
static Script script;
public static async Task Main(string[] args)
{
var userScriptPath = Path.Combine(Environment.CurrentDirectory, "scriptInput.txt");
var fileContents = File.ReadAllText(userScriptPath);
script = CSharpScript.Create(fileContents, ScriptOptions.Default);
for (int i = 0; i < 15; i++)
{
private Script userScript;
private void CompileScript()
{
UpdateSource(); //Handles creating a copy of the script which includes variables the user never sees.
string text = csSource.Text; //csSource is an object from the UI provider
userScript = CSharpScript.Create(text, options: userScriptOptions);
userScript.Compile();
private Compilation compilation;
private SemanticModel semanticModel;
private CompilationUnitSyntax syntaxRootNode;
// Validation Class Constructor
public ScriptValidator(Script script)
{
compilation = script.GetCompilation();
SyntaxTree syntaxTree = compilation.SyntaxTrees.First();