It really depends on why you have the Raise method in class A.
If it exists only to enable access to a private member, then the answer will be: yes, your encapsulation has been compromised.
The onChanged event should occur when something has changed, and not when some external class decides what it should.
However, if this is just a simple snapshot to create a point, and the Raise event is a method that triggers the event as a side effect to the action taken (something like changing text in a Textbox and then running onTextChanged ) than your encapsulation is still in tact .
Note:
I break encapsulation as private call are called from another class
From Wikipedia :
Encapsulation is used to hide the values ββor state of structured data in an object within a class, which prevents direct access to unauthorized parties. Publicly accessible methods are usually provided in classes (called getters and setters) to access values ββand others. Client classes call these methods to retrieve and change values ββwithin an object.
This is normal if the private method is called from the public. How else could it be called? It is up to you, the programmer, to get the logic of your methods and make sure they name the appropriate methods.
source share