need help with delegate

i need to call MethodA from class B,but not sure how

public class ClassA: MonoBehaviour
{   	
public delegate void delA(int vala);
public delegate void delB(int valb);

public void MethodA(string str, delA val1, delB valb) 
{
//method stufff
}
}

//different script 
public class ClassB: MonoBehaviour

{
void Start()
{
//i need to call methodA here
}
}

Hi its not possible to call a function without event.Moreover you can call MethodA by two methods

1.GetComponent Method
Assign both scripts to same objects and this code to the second script
public class ClassB: MonoBehaviour

{
ClassA ClassAScript;
void Start()
{
ClassAScript = transform.GetComponent<ClassA>() as ClassA;
ClassAScript.MethodA(//Enter corresponding values here// );

}
}

2.Delegate Method

Add this code to second script

public class ClassB: MonoBehaviour

{
public delegate void MethodAcontroller(String Word,int a,int b);///enter your values here
public static event MethodAcontroller CallMethodA;
void Start()
{
if(CallMethodA != null)
CallMethodA("Hai",1,2);///assing corresponding values// 
}
}

Add this code to ClassA script

public class ClassA: MonoBehaviour
{
public delegate void delA(int vala);
public delegate void delB(int valb);
 
//public void MethodA(string str, delA val1, delB valb)
//{

//}
public MethodA(String Word,int a,int b){

}
void Awake(){
ClassB.CallMethodA += MethodA;////******Note **** MethodAcontroller and MethodA should have same number and same type of variables in it


}
}

Note
MethodAcontroller and MethodA should have same number and same type of variables in it For Example

Lets say MethodAcontroller has 2 variables

MethodAcontroller(int A,int B); 

then

Method A should have same type and num of ints

MethodA(int A,int B){}