Getting errors

When I do this code, I get the errors:

40, 29: No overload for method ‘Distance’ takes 3 arguments
43,25: The best overloaded method match for ‘UnityEngine.MonoBehaviour.Start.Coroutine(System.Collections.IEnumerator)’ has some invalid arguments
43,25: Argument ‘#1’ cannot convert ‘method group’ expression to type ‘System.Collections.IEnumerator’
Type ‘Entity’ does not contain a definition for ‘Health’ and has no extension method ‘Health’ of type ‘Entity’ could be found(are you missing a using directive or an assembly reference?)

using UnityEngine;
using System.Collections;

public class Attacking : Entity {

	public Entity Target;
	public int Damage;
	public float AttackRange;
	public float AttackDistance;

	private bool CanAttack;



	void Start () {
		CanAttack = true;
	}
	
	// Update is called once per frame
	void Update () {
		if (CanAttack == true)
		{
		if (Target.rigidbody2D.transform.position.x > rigidbody2D.transform.position.x + AttackRange)
		{
			rigidbody2D.transform.position += Vector3.right * Speed * Time.deltaTime;
		}
		if (Target.rigidbody2D.transform.position.x < rigidbody2D.transform.position.x - AttackRange)
		{
			rigidbody2D.transform.position += Vector3.left * Speed * Time.deltaTime;
		}
		if (Target.rigidbody2D.transform.position.y > rigidbody2D.transform.position.y + AttackRange)
		{
			rigidbody2D.transform.position += Vector3.up * Speed * Time.deltaTime;
		}
		if (Target.rigidbody2D.transform.position.y < rigidbody2D.transform.position.y - AttackRange)
		{
			rigidbody2D.transform.position += Vector3.down * Speed * Time.deltaTime;
			}
		}
		if (Vector2.Distance (rigidbody2D.transform.position, Target.rigidbody2D,transform.position)  <= AttackDistance && CanAttack == true)
		{
			Attack ();
			StartCoroutine (AttackDelay);
		}
	}


	void Die () {
		}

	void Attack () {
		Target.Health -= Damage;
	}

	IEnumerator AttackDelay () {
		CanAttack = false;
		yield return new WaitForSeconds (1);
		CanAttack = true;
	}
}

You have a comma where a “.” should be on line 40.

Vector2.Distance (rigidbody2D.transform.position, Target.rigidbody2D,transform.position) 

You tried to pass a function to StartCoroutine() without a “()”.

StartCoroutine (AttackDelay);//change to StartCoroutine(AttackDelay()) or StartCoroutine("AttackDelay");

Make sure that Entity has the health property/field and that it is publicly available. Get used to thoroughly reading your code and be careful with the syntax. As mentioned you need to check your braces as well.