The RowType and RowTypeName properties are linked. Therefore, setting the RowType changes the RowTypeName to value of PgSqlRowType.Name property. When you set RowTypeName property, RowType becomes a null reference (Nothing in Visual Basic).
The RowType property can be used when you provide data as string and want to have it parsed as certain composite type. The other way to pass a PgSqlRow as parameter value is to assign a PgSqlRow object directly to Devart.Common.DbParameterBase.Value property.
The following example demonstrates how to construct a PgSqlRow object and use it as parameter value.
CREATE TYPE tperson AS (name text, age integer)
CREATE TABLE personnel (id integer, person tperson)