SDK 4.0.0 FindFullyInstantiatedType public->internal

Questions regarding the use of the .NET SDK 2.0 for Server or Client development or integration into customer products ...

Moderator: uasdknet

Post Reply
MichaelP
Jr. Member
Jr. Member
Posts: 2
Joined: 04 Oct 2023, 16:34

SDK 4.0.0 FindFullyInstantiatedType public->internal

Post by MichaelP »

Hello Support Team,

In UnifiedAutomation.UaServer, Version=3.3.1.0 there was this public class FullyInstantiatedType.
With this there was as well this method in UnifiedAutomation.UaServer.TypeManager:
public FullyInstantiatedType FindFullyInstantiatedType(NodeId typeId)

With version 4.0.0 of the .Net SDK the class FullyInstantiatedType became 'internal'.
The method UnifiedAutomation.UaServer.TypeManager.FindFullyInstantiatedType is now 'internal' as well:
internal FullyInstantiatedType FindFullyInstantiatedType(NodeId typeId)

Was this change done by intention respectively is there a replacement for FindFullyInstantiatedType?

Thanks for a reply
Michael

User avatar
Support Team
Hero Member
Hero Member
Posts: 3078
Joined: 18 Mar 2011, 15:09

Re: SDK 4.0.0 FindFullyInstantiatedType public->internal

Post by Support Team »

Hi,

The FullyInstantiatedType related code is used in the CreateObject/CreateVariable code.
In version 3.4 we added the OverrideSubtypes feature, which required a major rewrite of the FullyInstantiatedType and TypeManager code. It was not possible to do this without a breaking change. We decided to make the FullyInstantiatedType internal, because we have not seen any use case to utilize it besides in CreateObject. Since it is now internal, we do not preseve API compatibility. In fact, there will be "breaking" changes to it in version 4.1. That said our intention is that it must say internal and should not be used public.

For what you are using the FullyInstantiatedType? Maybe, we find another solution for your use case.
Best regards
Unified Automation Support Team

MichaelP
Jr. Member
Jr. Member
Posts: 2
Joined: 04 Oct 2023, 16:34

Re: SDK 4.0.0 FindFullyInstantiatedType public->internal

Post by MichaelP »

Thanks for the reply.
We used it for example to create all the optional variables of a FxAssetType. Therefore we were looking for a fully instantiated type of an FxAsset. Then we copied from this instance the variable settings for ‘TypeDefinitionId’, ‘BrowseName’, ‘DataType’, ‘ModellingRule’ etc. to build a ‘UnifiedAutomation.UaServer.CreateVariableSettings’ instance to finally call the ‘CreateVariable’ method of the node manager.
Best Regards
Michael

Post Reply