C# - Unity "this" is an unexpected symbol

Now, I am not a complete beginner with C# and know a BIT of java andjavascript, however, this is highly confusing. I am trying to create a custom character controller in C#, but it is not liking what I have put. Can anyone fix this? or even find a better way of doing this?

void Movement() {
	if (Input.GetAxis("Horizontal") || Input.GetAxis("Vertical")) {
		moveDirection = Vector3(Input.GetAxisRaw("Horizontal"), moveDirection.y, Input.GetAxisRaw("Vertical"));
		this.transform.Translate(moveDirection * speed) * Time.deltaTime);			
	}
}

this.transform is valid in Unity: this refers to the script, which isn’t a GameObject (class where the property transform is defined), but an interesting feature in Unity allows direct access to GameObject properties from any of its components (no idea how they do it) - this.transform thus does the same as gameObject.transform or just transform. From the code posted, the problem seems to be an extra closing parenthesis after speed - just remove it:

   this.transform.Translate(moveDirection * speed * Time.deltaTime);