The best overloaded method match for `x' has some invalid arguments

I know nothing about C# and am trying to make my first simple game! I made a room with a 2d game but made a cube instead of a sprite, now i am trying to fix this and make it a sprite, but with my limited C# knowledge, after trying to make my code 2d compatible, it doesnt work! I would appreciate anybody who knows about C# and how this can be fixed!

using UnityEngine;

public class BlobMovement : MonoBehaviour {


    public float sidewaysForce = 500f;

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {

        if (Input.GetKey("d"))
        {
            Rigidbody2D.AddForce(sidewaysForce * Time.deltaTime);
        }

        if (Input.GetKey("a"))
        {
            Rigidbody2D.AddForce(-sidewaysForce * Time.deltaTime);
        }
    }
}

The variable sidewaysForce needs to be a Vector2 type.

This is because force is described as a force in the x and y axis for 2D games, X,Y and Z for 3D games.

So change sideways force to

public Vector2 sidewaysForce = Vector2.Up;

Or which ever direction you want to go.

Also, multiply it by a force and always apply physics operations in FixedUpdate() instead of Update()

So it would be something like

void FixedUpdate()
{
    var rb = GetComponent<Rigidbody2D>();
    rb.AddForce(Vector2.up * 50f);
}

You can change the 50f to a float variable you can set as you like.