์๋
ํ์ธ์ ์ด๊ด์์
๋๋ค.
BitSupport
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ์ํ์์ต๋๋ค.
์ถ์ ๊ณ๊ธฐ
PacketSupoort ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์ฅ์ ์ํด Bit๋ฅผ ํตํ Byte ์์ฑ ๋ฐฉ๋ฒ์ด ํ์ํ๊ณ @suwoo ๋์ FlagsAttribute
์๊ฒฌ์ ๊ฐ์ง๊ณ ๊ฐ๋ฐํ๊ฒ๋์์ต๋๋ค.
BitSupport ์ฃผ์ ๊ธฐ๋ฅ
[BitSupportFlags]๋ [Flags]๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฅํ ํ์ฅ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
ํ์ฌ ์์ ์์ Enum์ Value์ ๊ฐ์ ๋ฃ์ง ์๊ณ ์๋ ์์ฑ์ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
// ๊ธฐ์กด Enum๊ฐ์ Flagsํํ๋ก ๋ณํํฉ๋๋ค
// ๋ณํ ๋ Flags๋ค์ ์กฐํฉํ์ฌ ํ๋์ Byte๋ก ๋ง๋ญ๋๋ค.
var MACHINEFlags = MACHINE.POWER.ToFlags() | MACHINE.RIGHT.ToFlags(); // ๋๋ MACHINEFlags.POWER | MACHINEFlags.RIGHT
byte byteValue = MACHINEFlags.ToByte ();
// Byte ๋ฐ์ดํฐ๋ฅผ Enum๊ฐ์ผ๋ก ๋ณํ์ฒ๋ฆฌํด์ค๋๋ค.
byte byteValue = 0x05;
var enumData = byteValue.ToEnum<MACHINE> (); // ๋๋ data.ToEnum<MACHINEFlags>
HasFlags
, HasAnyFlags
, HasNotFlags
๋ฅผ ํตํ Byte ๋ถ์
BitSupport ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ๊ธฐ
๋ด๊ฐ ๋ง๋ค์์ด์
๋ก ์์๋์์ง๋ง ๋ท๋ท ๊ฐ๋ฐ์๋ถ๋ค์ ์๊ฒฌ์ ์๋ ดํ๊ณ ๋ค๋ฌ์ด์ง๋ค๋ณด๋ Slog
์ ์ฑํฅ๋ ๋ณด์ด๋ค์
PacketSupoort
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ณ๋ ๊ด๋ฆฌ ์ด์
PacketSupoort๋ netStandard2.1 ๊ธฐ๋ฐ์
๋๋ค. BitSupportFlags๋ ์ ๋ค๋ ์ดํฐ Source Generator ๊ธฐ๋ฅ์ ํ ๋์ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ํฉ์น ์๊ฐ ์์๊ณ ,
ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ SourceGeneraorํด์ ๋ง๋ค์ด ์ฐ๋ฉด ๋์ง ์๋? ๋ผ๋ ์๊ฐ๋ ๋ค์์ง๋ง ๋จ์ BitSupport๋ง ์ฌ์ฉํ๊ณ ์ถ์ง ์์๊น ๋ผ๋ ์๊ฐ์์
๋ณ๋ ๊ด๋ฆฌ๋ฅผ ์ ํํ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
9 Likes
suwoo
2
๋ฉ์ง ํจํค์ง ๊ฐ์ฌํฉ๋๋ค!
์ญ์ ๋ถ๋ฆฌํ๋ ๊ฒ ๋ ๊น๋ํด ๋ณด์ด๋ค์.
๊ทธ๋์ ๋ ์ ๊ฐ ๋ง์ ๋๋ฆฐ ๊ฒ๋ ๋ฐ์ํด์ฃผ์๋ค๋ ๊ทธ์ ์๊ด์
๋๋ค ใ
.ใ
1 Like
๊ฐ์ฌํฉ๋๋ค
์์ง์ [Flags]๋ง๊ณ ์ [BitSupportFlags]๋ฅผ ์จ์ผํ๋์ง์ ๋ํ ์ฅ์ ์ด 1๊ฐ์ง ๋ฐ์ ์์ต๋๋ค.
๋์ฑ ๋ถ๋ฐํด๋ณผ๊ฒ์
1 Like
์ ๋ค๋ ์ดํฐ => Source Generator๋ฅผ ๋ง์ํ์๋ ๊ฑฐ ์๋๊ฐ์?
Source Generator๋ .netstandard2.0 ๋ถํฐ ์ง์ํ๋ ๊ฒ์ผ๋ก ์๋๋ฐ ํน์ ๋ค๋ฅธ ๊ฑด๊ฐ์?
1 Like
๋ค ์ ๋ฆฌํ๋ค๋ณด๋ ์๋ต๋์๋ค์ ใ
ใ
์ ๋ค๋ ์ดํฐ โ ์์ค ์ ๋ค๋ ์ดํฐ ์ด ๋ง์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๊ฐํ์ง ์๊ณ
PacketSupoort ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์์ค์ ๋ค๋ ์ดํฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ ํ์๋๋ฐ
PacketSupoort๋ netStandard2.1 ๊ธฐ๋ฐ์ด๊ธฐ์ ๋ถ๊ฐ๋ฅํด์ BitSupport๋ก ์๋ก ๊ฐ๋ฐํ๊ฒ ๋์๋คโฆ ์ด๋ฐ ๋ป์ด์์ต๋๋ค.
์์ ์ ๋ฆฌํ๋ฉด์ ๋ด์ฉ์ ์ถ๊ฐํ์ง๋ง ์ฌ๊ธฐ์ ๋ถ์ฐ์ค๋ช
ํด๋๊ฒ ์ต๋๋ค!
BitSupport
๋ BitSupportFlags์ ํ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋๋ค. PacketSupoort์ PacketBuilder
๋ Byte๋ค์ ์ง๊ด์ ํํํ๋ค๊ณ ํ๋ค๋ฉด
BitSupport๋ Bit LeftShift, RightShift ๋ฑ ๋ค์ํ Bit์กฐ์์ ํตํด Byte ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์
๋๋ค.
๋ค. ๊ทธ๋ ๊ตฐ์. ์๋ชป ์ดํดํ์๋ค์.
1 Like