Question: Sometimes I encounter cases where I have to attach a method to a delegate but the signature doesn't match, like trying to attach abc down there to somedelegate with the string parameter being "hi".

```
public class test
{
   //...
   public void abc(int i, string x)
   {
      //Do Something
   }
   //...
}
public class test2
{
   somedelegate x;
   //...
   public test2()
   {
      //Do Something
      test y = new test();
      x += y.abc(,"hi");
   }
   delegate void somedelegate(int i);
}

```

I can work it around by creating another delegate with the correct signature then attaching it but it seems so unnecessarily complex. Can you do something like this in C#? Thanks.

EDIT: I guess there closest to what I wanted to achieve is:

```
x += (int i) => abc(i, "hi");

```

Answer: 
This script makes DMG generation very easy: <https://github.com/andreyvit/create-dmg>

Also there is no node dependency :-)
You could use Disk Utility for this, but if you want a picture in the background, you need some advanced directions.

First, open Disk Utility  

Then, Click File > New Image > Blank image.  

It will ask you for the size of it and the name.  

After that, you can put files into it, and there you go!

NOTE: This was tested on Mac OS Mojave. I don't know about previous versions.