Как в одном шаблоне поменять общий код?

  • Автор темы Автор темы S10n4eg
  • Дата начала Дата начала

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
342
Реакции
61
Баллы
28
Здравствуйте, можно ли в зеннопострере менять общий код в одном шаблоне?

При работе разных кубиков написанных на C#, мне нужно менять общий, вот кусочки которые нужно менять:

1 кусок:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }



2-й кусок:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
        
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

Подскажите пожалуйста, как это реализовать?)
 
Здравствуйте, можно ли в зеннопострере менять общий код в одном шаблоне?

При работе разных кубиков написанных на C#, мне нужно менять общий, вот кусочки которые нужно менять:

1 кусок:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }



2-й кусок:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
      
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
      
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

Подскажите пожалуйста, как это реализовать?)
C#:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
       
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
}
 
C#:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
      
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
      
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
}
Просто обьеденить все?
 
Просто обьеденить все?
Ну тип да, у тебя вот в общем коде есть пространство имен ZennoLab.OwnCode и в него ты уже можешь сколько хочешь своих классов добавлять, Path, CallParams и так далее
 
Ну тип да, у тебя вот в общем коде есть пространство имен ZennoLab.OwnCode и в него ты уже можешь сколько хочешь своих классов добавлять, Path, CallParams и так далее
Я не правильно написал. Классы пересекаются и данные там разные.
Вот одним кодом кидаю 4 разных неймспейс, где классы пересекаются
Коды:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
        
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

    public class SendFrom
    {
        [Parameter("address", 1)]
        public string From { get; set; }
        
        [Parameter("uint16", 2)]
        public int DstChainId { get; set; }

        [Parameter("bytes32", 3)]
        public byte[] ToAddress { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Amount { get; set; }

        [Parameter("uint256", 5)]
        public BigInteger MinAmount { get; set; }
        
        [Parameter("tuple", 6)]
        public CallParams CallParams { get; set; }
        
    }
    
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }

namespace ZennoLab.OwnCode
{
    
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
    
namespace ZennoLab.OwnCode
{
    
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
    
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }

        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
    }
 
Я не правильно написал. Классы пересекаются и данные там разные.
Вот одним кодом кидаю 4 разных неймспейс, где классы пересекаются
Коды:
Развернуть Свернуть Копировать
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
       
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

    public class SendFrom
    {
        [Parameter("address", 1)]
        public string From { get; set; }
       
        [Parameter("uint16", 2)]
        public int DstChainId { get; set; }

        [Parameter("bytes32", 3)]
        public byte[] ToAddress { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Amount { get; set; }

        [Parameter("uint256", 5)]
        public BigInteger MinAmount { get; set; }
       
        [Parameter("tuple", 6)]
        public CallParams CallParams { get; set; }
       
    }
   
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }

namespace ZennoLab.OwnCode
{
   
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
   
namespace ZennoLab.OwnCode
{
   
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
   
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }

        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
    }
Тогда проще изменить пересекающиеся названия классов, либо изменить названия неймспейсов вместо ZennoLab.OwnCode можешь какие угодно писать, вроде он их все видеть будет
 
  • Спасибо
Реакции: S10n4eg
Тогда проще изменить пересекающиеся названия классов, либо изменить названия неймспейсов вместо ZennoLab.OwnCode можешь какие угодно писать, вроде он их все видеть будет
Спасибо)
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)