public static void Main() { var mc1 = new ManagedClass(); var mc2 = new ManagedClass(); var mc3 = new ManagedClass(); var cwt = new ConditionalWeakTable <ManagedClass, ClassData>(); cwt.Add(mc1, new ClassData()); cwt.Add(mc2, new ClassData()); cwt.Add(mc3, new ClassData()); var wr2 = new WeakReference(mc2); mc2 = null; GC.Collect(); ClassData data = null; if (wr2.Target == null) { Console.WriteLine("No strong reference to mc2 exists."); } else if (cwt.TryGetValue(mc2, out data)) { Console.WriteLine("Data created at {0}", data.CreationTime); } else { Console.WriteLine("mc2 not found in the table."); } }
static void Main(string[] args) { Console.WriteLine("2 + 3 = {0}", FunctionName(2, 3)); ManagedClass mc = new ManagedClass(); Console.WriteLine("1 + 4 = {0}", mc.Add(1, 4)); }
public MainWindow() { InitializeComponent(); var x = ManagedClass.add(1, 2); var managedClass = new ManagedClass(); var y = managedClass.getX(); var z = managedClass.Count("asdf"); }
private async Task <byte[]> ConvertWithSelectedMode(ConvertMode convertMode, byte[] loadImageByteArr) { ManagedClass mc = new ManagedClass(); if (convertMode == ConvertMode.Normally) { ToMainColors(loadImageByteArr); } if (convertMode == ConvertMode.Asynchronously) { await ToMainColorsAsync(loadImageByteArr); } if (convertMode == ConvertMode.UsingCpp) { mc.ToMainColorsCPP(loadImageByteArr); } return(loadImageByteArr); }
public void Init(VltRootRecord rootRecord, TableEndBlock teb, BinaryReader br) { var position = teb.InfoDictionary[rootRecord.Position].Address2; br.BaseStream.Seek(position, SeekOrigin.Begin); _managedClasses = new Dictionary <uint, ManagedClass>(rootRecord.NumEntries); for (var i = 0; i < rootRecord.NumEntries; ++i) { var mc = new ManagedClass { Value = BinaryUtil.ReadNullTerminatedString(br), Unknown = rootRecord.Hashes[i] }; mc.Hash = JenkinsHash.getHash32(mc.Value); _managedClasses.Add(mc.Hash, mc); } }
static void Main(string[] args) { var mc = new ManagedClass(); action actionDelegateInstance = PrintCoordinates; var act = Marshal.GetFunctionPointerForDelegate(actionDelegateInstance); function functionDelegateInstance = SendValue; var func = Marshal.GetFunctionPointerForDelegate(functionDelegateInstance); Task.Run(() => { mc.Run(act, func); }); int j = 0; while (true) { //mc.ChangeValue(j); Console.WriteLine("Value from Lib: " + mc.GetValue()); j++; Thread.Sleep(3000); } }
/// <summary> /// Gets the UClass address for the given UObject derived type (defined in managed code) /// </summary> /// <param name="type">The UObject derived type</param> /// <returns>The address of the UClass for the given type</returns> public static IntPtr GetClassAddress(Type type) { ManagedClass managedClass = GetManagedClass(type); return(managedClass != null ? managedClass.Address : IntPtr.Zero); }
protected bool IsExcludedClass(ManagedClass @class) { return(IsExcludedClass(@class.Native)); }
static void Main(string[] args) { Console.WriteLine(ManagedClass.ManagedFunction("P1", 2)); }
protected bool IsExcludedClass(ManagedClass @class) { return IsExcludedClass(@class.Native); }