In C#, you will need to cast the component over, since GetComponent returns a different data type. All you need to do is cast it over. In my example below, I have all of the movement for a multiplayer game stored in a different class (called PlayerInfo). I create a default movement class for all players, and then pull in the component.
So, if I had two scripts, one named PlayerInfo.cs and another named Movement.cs, I could add the following code in Movement.cs to use functions and variables from PlayerInfo.cs
`
PlayerInfo playerInfo;
playerInfo = GetComponent(typeof(PlayerInfo)) as PlayerInfo;